我正在运行一个Ubuntu10.04LTS服务器,我希望创建只能从FTP访问服务器的用户。
到目前为止我所做的是:
vsftpd/bin/false的新用户服务器上的普通用户都可以通过ftp访问他们的主文件夹,但是通过将远程shell访问设置为/bin/false而删除其访问的用户也不能通过ftp登录。
我不明白shell访问是如何影响vsftpd服务器的?如何在不重新启用shell的情况下启用ftp访问?
更新:
我发现了本参考,它声明我应该使用/sbin/nologin (在Ubuntu中似乎是/usr/sbin/nologin ),并且它不应该影响ftp访问,但在我的例子中不起作用。
发布于 2011-07-06 16:38:04
我不知道回答我自己的问题是否是一个很好的实践,但我找到了一个简单的解决方案,可以启用ftp登录。
我需要加一行
/usr/sbin/nologin
文件/etc/shell。修改之后,ftp服务器就开始接受将shell设置为/usr/sbin/nologin的用户的登录。因此,他们不能通过ssh登录,但它与ftp的工作与我想要的完全一样。
谢谢你的有益评论。
发布于 2016-04-17 02:03:04
将用户shell设置为/bin/false (或其他一些无效的shell),然后在/etc/shells中设置/bin/false。
在将/usr/sbin/nologin设置为/etc/shells时,我看到了一个主要的安全问题。您正在授予FTP (或者其他)访问所有以/usr/sbin/nologin作为外壳的守护进程和登录的权限。
https://unix.stackexchange.com/questions/16168
复制相似问题