创build新的vsftpd用户并locking(指定)home / login目录

我需要定期临时和有限地访问安装了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 ,确保设置了以下所有内容:

    • chroot_local_user = YES
    • chroot_list_enable = YES
    • chroot_list_file =的/ etc / vsftpd.chroot_list

只有在vsftpd.chroot_list文件中列出用户才可以完全访问服务器上的任何位置。 通过不在这个文件中列出它们,你说的是限制所有vsftpd用户到他们指定的主目录。

换句话说(供参考): –

  1. 意味着默认情况下,除文件中的用户外,所有用户都将被chroot …
    • chroot_local_user = YES
    • chroot_list_enable = YES
  2. 意味着默认情况下,文件中的用户只能被chrooted …
    • chroot_local_user = NO
    • chroot_list_enable = YES

对我来说,即使在上述之后,它也不起作用。 已经有一个local_root已经设置到一个目录,而我所做的任何事情,用户的目录都没有入狱。 最后它只在改变后才起作用

chroot_local_user = YES

并遵循程序

  1. vi /etc/vsftpd.conf
  2. 添加行'user_config_dir = / etc / vsftpd_user_conf'(不含引号)
  3. mkdir / etc / vsftpd_user_conf;
  4. cd / etc / vsftpd_user_conf
  5. vi user_name;
  6. input“local_root = / srv / ftp / user_name”这一行

如果其他人有同样的问题,我的两分钱。