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

相關內容