我在一些客户端机器上运行了一个 python 脚本,它调用了运行 ProFTP 的 Ubuntu 8.04 LTS 服务器。
我在服务器上创建了一个名为 userftp 的用户,并希望通过以下方式拒绝它的 shell 访问:
sudo useradd userftp -p your_password -d /home/FTP-shared -s /bin/false
我最初在 /home/FTP-shared 目录上设置了权限:
sudo chmod 755 FTP-shared
但是当脚本从客户端运行时,它无法写入该目录..
所以我在 /home/FTP-shared 上设置了权限:
sudo chmod 777 FTP-shared
所以 /home/FTP-shared 现在的访问权限设置为:
drwxrwxrwx 4 root root 4096 2010-03-04 21:11 FTP-shared
我不喜欢目录现在已经完全打开的事实......有没有更安全的方法来做到这一点,或者由于客户端必须写入它,这是唯一的方法吗?
建议在这样的目录上设置粘性位。然后,只有目录的所有者和文件的所有者可以从目录中删除内容。
chmod +t FTP-shared
更详细地说,您描述的性能通常被认为是
incoming
FTP 领域的目录。对于上传的任何特殊处理,可以在守护进程中进行配置。就让它在世界范围内可写而言,这并不是完全必要的。如果您确实希望每个人 (例如匿名)都能够写信给它,那就是。但是,如果它是已知用户的有限子集,您可以创建一个组,将所有用户添加到该组,设置权限 775 或 770 并设置 SGID 位。