vsftpd 中的 chroot 与 home_folder

vsftpd 中的 chroot 与 home_folder

我正在使用 vsftpd,但似乎无法通过 vsftpd.conf 获得我想要的行为。如果您希望 /folder 成为更改根文件夹以禁止用户向上移动一个文件夹,但所有会话的起始目录都是 /folder/$USER,该怎么办?

#vsftpd.conf
user_sub_token=$USER
local_root=/folder
#user_config_dir=/etc/vsftpd/users
passwd_chroot_enable=YES
#hide everything
hide_file={.*}

如果我使用 passwd_chroot_enable=YES,那么它将覆盖 local_root=/folder 并将会话 chroot 到 /folder/$USER(/etc/passwd 中指定的主文件夹)。chroot 和会话的登录主文件夹不应该是两个完全不同的东西吗?为什么要这样把它们混在一起?我希望用户登录到他们的主文件夹,但只能返回一个文件夹。这样,ftp 会话中的路径将是 /username,而不仅仅是 /。

下面是它在 sftpd(sshd_config)中运行的一个示例:

Match Group mtlsftpprd001_edi-ftp
        ChrootDirectory /folder
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp -l INFO -d %u
        KerberosAuthentication yes

相关内容