我需要定期临时和有限地访问安装了vsftp的CentOS Linux服务器上的各种目录。
我已经使用useradd [user_name]
创build了一个用户,并使用passwd [password]
给他们一个密码。
我在/var/ftp
创build了一个目录,然后将其绑定到我希望限制访问的目录。
我还需要做些什么来确保当这个用户login到FTP时,他们只能访问这个目录吗?
完整的答案,解决了我的问题,为任何其他人一步一步的演练…
以此为指导安装vsftpd
。
useradd [user_name]
创build用户。 passwd [user_name]
创build用户的密码。 (系统会提示您指定密码)。 /var/ftp
创buildFTP目录,然后使用mount --bind /var/www/vhosts/domain.com/ /var/ftp/custom_name/
绑定到您希望为该用户指定的“home”目录。 使用usermod -d /var/ftp/custom_name/ user_name
更改用户的主目录
在/etc/vsftpd/vsftpd.conf
,确保设置了以下所有内容:
只有在vsftpd.chroot_list
文件中列出用户才可以完全访问服务器上的任何位置。 通过不在这个文件中列出它们,你说的是限制所有vsftpd
用户到他们指定的主目录。
换句话说(供参考): –
对我来说,即使在上述之后,它也不起作用。 已经有一个local_root已经设置到一个目录,而我所做的任何事情,用户的目录都没有入狱。 最后它只在改变后才起作用
chroot_local_user = YES
并遵循程序
- vi /etc/vsftpd.conf
- 添加行'user_config_dir = / etc / vsftpd_user_conf'(不含引号)
- mkdir / etc / vsftpd_user_conf;
- cd / etc / vsftpd_user_conf
- vi user_name;
- input“local_root = / srv / ftp / user_name”这一行
如果其他人有同样的问题,我的两分钱。