我需要定期对安装了 vsftp 的 CentOS linux 服务器上的各种目录提供临时和有限的访问权限。
我创建了一个用户useradd [user_name]
并使用passwd [password]
.
我在其中创建了一个目录,/var/ftp
然后将其绑定到我希望限制访问的目录。
我还需要具体做什么来确保当这个用户登录到 FTP 时,他们只能访问这个目录吗?
我需要定期对安装了 vsftp 的 CentOS linux 服务器上的各种目录提供临时和有限的访问权限。
我创建了一个用户useradd [user_name]
并使用passwd [password]
.
我在其中创建了一个目录,/var/ftp
然后将其绑定到我希望限制访问的目录。
我还需要具体做什么来确保当这个用户登录到 FTP 时,他们只能访问这个目录吗?
完整的答案解决了我对逐步演练后的任何其他人的问题...
vsftpd
以此为指导进行安装。useradd [user_name]
。passwd [user_name]
。(系统将提示您指定密码)。/var/ftp
然后绑定到您希望为该用户指定的“主”目录,使用mount --bind /var/www/vhosts/domain.com/ /var/ftp/custom_name/
.更改用户的主目录
usermod -d /var/ftp/custom_name/ user_name
在
/etc/vsftpd/vsftpd.conf
中,确保设置以下所有内容:-vsftpd.chroot_list
如果您希望他们对服务器上的任何位置具有完全访问权限,请仅在文件中列出用户。通过不在此文件中列出它们,您是在说将所有vsftpd
用户限制在他们指定的主目录中。换句话说(供参考):-
对我来说,即使在上述情况之后它也不起作用。已经将 local_root 设置为目录,无论我做什么,用户的目录都没有被监禁。最后它只在改变后工作
并遵循以下程序
如果其他人有同样的问题,只需我的两分钱。
先前答案中提到的 chrooting 在我的 ubuntu 18.04 服务器上不起作用。我终于用这个参考让它工作了:https ://passingcuriosity.com/2014/openssh-restrict-to-sftp-chroot/