vsftpd chroot_local_user 不执行任何操作

vsftpd chroot_local_user 不执行任何操作

我正在设置 vsftpd 服务器:

Linux 2.6.32-26-server #48-Ubuntu SMP Wed Nov 24 10:28:32 UTC 2010 x86_64 GNU/Linux

当我设置时chroot_local_user=YES,没有任何效果(/我登录时仍然可以看到)。 syslog 或 中没有任何内容/var/log/vsftpd.log表明出了什么问题。 我知道我正在编辑正确的 conf 文件,并且当我重新启动守护进程时其他设置确实会生效,因为这些有效:

ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES

知道哪里出了问题吗?谢谢。

编辑:

touch已将/etc/vsftpd.chroot_list其设为空(没有 chroot 拒绝的用户),并添加了:

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

然后重新启动:

sudo /etc/init.d/vsftpd restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service vsftpd restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart vsftpd
vsftpd start/running, process 5606

还是没效果。

答案1

文档没有非常清楚地说明如何执行此操作,并且如果不看整个配置文件就很难判断您遗漏了什么。

盲目猜测:

   passwd_chroot_enable
         If enabled, along with chroot_local_user, then a chroot() jail
         location may be specified on a per-user basis. Each user's  jail
         is  derived from their home directory string in /etc/passwd. The
         occurrence of /./ in the home directory string denotes that  the
         jail is at that particular location in the path.

         Default: NO

尝试将其设置为 YES。如果仍然不起作用,请:

  1. 将您的完整配置文件添加到您的问题中
  2. 显示你以哪个用户身份登录
  3. 解释一下你如何验证自己没有被 chroot

答案2

您可能还需要将 local_enabled 设置为 YES,具体取决于您如何设置您的帐户。

相关内容