デフォルトの VSFTP 構成では、VSFTP ログイン ユーザーは最上位のディレクトリに移動でき、セキュリティ上の問題が発生する可能性があります。 FTP ユーザーが自分のホーム ディレクトリ以外のファイルにアクセスできないようにしたい場合があります。 vsftp デーモンを chroot して、このポリシーを実装できます。
chroot jail をすべてのローカル ユーザーのデフォルトの $HOME ディレクトリに設定
以下の手順に従って、システム上のすべてのローカル ユーザーに対して、jail をデフォルトのホーム ディレクトリに chroot します。
1. VSFTP サーバー構成ファイル /etc/vsftpd/vsftpd.conf 、以下のパラメーターを設定します:
# vi /etc/vsftpd/vsftpd.conf chroot_local_user=YES注意 :「chroot_list_enable」を確認してください 」はそうではありません 「はい」に設定 」。 chroot_list_enable=YES の場合、vsftpd.conf ファイルにパラメーター chroot_list_file=/etc/vsftpd/chroot_list を設定して、chroot_list ファイルの場所をデーモンに伝える必要があります。 vsftpd はそのファイルを見て、そのファイルにリストされているユーザーは chroot 監獄に入れられます
2. VSFTP サーバーで vsftpd サービスを再起動します。
# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
3. chroot jail ユーザーでテストし、chroot ディレクトリの下にディレクトリを作成します。
# ftp ftphost Connected to ftphost (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): testuser 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/" ftp> ls 227 Entering Passive Mode (192.168.149.10,72,224) 150 Here comes the directory listing. 226 Directory send OK. ftp> cd / 250 Directory successfully changed. ftp> ls 227 Entering Passive Mode (192.168.149.10,135,209) 150 Here comes the directory listing. 226 Directory send OK. ftp> mkdir chroot_jail_dir 257 "/chroot_jail_dir" created ftp> ls 227 Entering Passive Mode (192.168.149.10,40,202) 150 Here comes the directory listing. drwxr-xr-x 2 511 511 4096 Nov 12 11:40 chroot_jail_dir 226 Directory send OK. ftp>
4. VSFTP サーバーで作成したディレクトリの場所を確認します。実際のルート ディレクトリ (/) ではなく、ユーザー「testuser」のホーム ディレクトリ (/home/testuser) の下に作成されたディレクトリが表示されます。
以下に示すように、ディレクトリは / の下に作成されません:
# ls / | grep chroot_jail_dir
代わりに、「testuser」ユーザーのホーム ディレクトリの下に作成されます。
# ls /home/testuser/ | grep chroot_jail_dir chroot_jail_dirCentOS / RHEL :vsftp の chroot jail を特定のユーザーのみに設定する方法