VSFTPD 配置

VSFTPD 配置

在我的配置文件中,我有

local_root=/home/$用户

但 $USER 似乎没有提供用户的登录名。当我尝试登录时,它将其视为 $USER,但无法更改到该目录。

答案1

听起来你正在尝试将用户 chroot 到他们的主目录中;请尝试这样做/etc/vsftpd/vsftpd.conf

chroot_local_user=yes
# 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
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

chroot_local_user我发现 CentOS 的示例配置(上面引用)引用了它,但实际上并没有在配置文件中提供它,这有点不直观。

更新:进一步解释一下:

如果chroot_local_user=yes用户被 chroot 到他们的主目录,除非他们被列出chroot_list_file(在这种情况下他们可以正常访问整个文件系统)。

如果chroot_local_user=no这样,用户就不会被 chroot 到他们的主目录,除非他们被列出chroot_list_file(在这种情况下,他们确实会被 chroot)。

因此,要默认 chroot(这听起来像您想要完成的),请设置chroot_local_user=yes。在中列出所有例外(您不想 chroot 的用户)chroot_list_file

请注意,在任何一种情况下,您不必在此文件中列出没有 FTP 访问权限的用户。

相关内容