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