VSFTP 已设置,我希望用户不要进入除 /home 之外的其他目录。我已设置:
chroot_local_user=YES
但它似乎不起作用(重新启动后)。
是不是我的配置文件有误?或者有其他设置或登录方式可以跳过此配置行?
编辑:我和其他人一起发现 vsftp 根本不是监听端口的服务器。因此,我没有看到我的更改得到反映。这样在其他地方解决了这个问题。
不过,下面的答案可能会为其他遇到此问题的人解决该问题。
答案1
您是否chroot_list_enable
启用了该选项?如果启用了,则列出的任何用户都chroot_list_file
将不是被 chroot 化。
答案2
我认为这部分是多余的,但我没有回头去研究它,因为它有效。(我认为我第一次设置它时就和你一样,这就是为什么设置了 chroot_local_user...)
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
chroot_local_user=YES
userlist_enable=YES
...并且 /etc/vsftpd.chroot_list 是一个空文件。
答案3
确保用户的主目录已设置并且正确(不是 /root):
usermod -d /home/user user