vsftpd の chroot と home_folder

vsftpd の chroot と home_folder

私は vsftpd を使用していますが、vsftpd.conf で希望する動作が得られないようです。/folder をルート フォルダーに変更してユーザーが 1 つ上のフォルダーに移動できないようにし、すべてのセッションの開始ディレクトリを /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 が上書きされ、セッションが /folder/$USER (/etc/passwd で指定されたホーム フォルダー) に chroot されます。 chroot とセッションのホーム フォルダーは、別々のものであるべきではないでしょうか。 なぜこのように一緒に扱われるのでしょうか。 ユーザーがホーム フォルダーにアクセスできるが、1 つ前のフォルダーのみに制限されるようにしたいのです。 そうすれば、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

関連情報