
RHEL7でホストされているvsftpサーバーがあります。 vsftpサーバーに複数のユーザーがログインしています。このVSFTPはルートが変更されました。私の要件は、一部のユーザーはホームディレクトリにログインし、残りのユーザーはホームディレクトリ内の特定のサブフォルダにログインする必要があります。サブフォルダーに入るユーザーは、それぞれのホームディレクトリーに入ることができなければなりません。
Johnのパスワード入力例:
ゾーン:x:1234:123:テストアカウント:/ftp/home/john/./test:/etc/ftponly
上記の設定では、JohnがVSFTPサーバーにログインすると、Johnはホームディレクトリの「test」フォルダに配置されます。ただし、「cd ..」を実行すると、「/ftp/home/john/」フォルダに入ることはできません。
私のリクエスト: john は /ftp/home/john/ フォルダに入れることができなければなりません。しかし、/ftp/home/ではありません。
vsftpd.conf
私のファイルの内容は次のとおりです。
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_enable=YES
allow_writeable_chroot=YES
dual_log_enable=YES
答え1
/ftp/home/john/./test
有効な項目ですが、passwd
ここで.
想定した点は意味がありません。
-bash-4.1$ echo $HOME
/home/testuser/./test
-bash-4.1$ pwd
/home/testuser/./test
-bash-4.1$ cd ..
-bash-4.1$ pwd
/home/testuser
-bash-4.1$ cd test
-bash-4.1$ pwd
/home/testuser/test
したがって、ユーザーのホームディレクトリはあなたが考えているものとはjohn
異なります。ユーザーのアクセスを許可するには、ホームフォルダを(またはそれ以上)に設定する必要があります。 chroot されたユーザー (ほとんどの場合) は自宅よりも高いところに到達できません。/ftp/home/john/test
/ftp/home/john
john
/ftp/home/john
/ftp/home/john
vsftpd