ユーザーがホームディレクトリから出られないように sftp を設定して、他のユーザーが影響を受けないようにする方法は?さて、それを行う簡単な方法があります。すべてのローカル ユーザーをデフォルトの $HOME ディレクトリに chroot するか、特定のユーザーに対してのみ chroot することができます。この投稿では、特定のユーザーに対してのみ vsftpd を chroot する手順を具体的に示しています。
CentOS / RHEL :すべてのユーザーに対して vsftp の chroot jail を設定する方法少数を除くすべてのローカル ユーザーに対して、chroot jail をデフォルトの $HOME ディレクトリに設定します
1. VSFTP サーバー構成ファイル /etc/vsftpd/vsftpd.conf で、以下を設定します:
# vi /etc/vsftpd/vsftpd chroot_local_user=YES chroot_list_enable=YES
2. chroot jail を必要としないユーザーを /etc/vsftpd/chroot_list に追加します ファイル。この例では、ユーザー user01 と user02 を追加します:
# cat /etc/vsftpd/chroot_list user01 user02
3. VSFTP サーバーで vsftpd サービスを再起動します。
# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
4. chroot jail に設定されているユーザー user01 をテストし、chroot ディレクトリの下にディレクトリを作成します。
# ftp ftp_host Connected to ftp_host (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): user01 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,61,227) 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,61,163) 150 Here comes the directory listing. 226 Directory send OK. ftp> mkdir chroot_jail 257 "/chroot_jail" created ftp>
5. VSFTP サーバーに作成されたディレクトリを確認します:
[root@ftp_host ~]# ls / | grep chroot_jail [root@ftp_host ~]# ls /home/user01/ | grep chroot_jail chroot_jail
6. chroot jail から除外されたユーザー user03 をテストします。
[root@ftpclient ~]# ftp ftp_host Connected to ftp_host (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): user03 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/home/user03" ftp> cd / 250 Directory successfully changed. ftp> mkdir chroot_jail 257 "/chroot_jail" created ftp>
7. VSFTP サーバーに作成されたディレクトリを確認します:
[root@ftp_host ~]# ls / | grep chroot_jail chroot_jail
chroot jail をごく少数のローカル ユーザー用にデフォルトの $HOME ディレクトリに設定する
1. VSFTP サーバー構成ファイル /etc/vsftpd/vsftpd.conf 、セット:
chroot_list_enable=YES注意 :「chroot_local_user」を確認してください 」はではない 「はい」に設定 」。
2. /etc/vsftpd/chroot_list で chroot jail を必要とするユーザーを一覧表示します 、ユーザー user01 と user02 を追加します:
[root@ftp_host ~]# cat /etc/vsftpd/chroot_list user01 user02
3. VSFTP サーバーで vsftpd サービスを再起動します。
[root@ftp_host ~]# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
4. chroot jail に設定されているユーザー user01 をテストし、chroot ディレクトリの下にディレクトリを作成します。
[root@ftpclient ~]# ftp ftp_host Connected to ftp_host (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): user01 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,238,61) 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,83,211) 150 Here comes the directory listing. 226 Directory send OK. ftp> mkdir chroot_jail 257 "chroot_jail" created ftp>
5. VSFTP サーバーに作成されたディレクトリを確認します:
[root@ftp_host ~]# ls / | grep chroot_jail [root@ftp_host ~]# ls /home/user01/ | grep chroot_jail chroot_jail
6. chroot jail から除外されたユーザー user03 をテストします。
[root@ftpclient ~]# ftp ftp_host Connected to ftp_host (192.168.149.10). 220 (vsFTPd 2.0.5) Name (192.168.149.10:root): user03 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/home/user03" ftp> ls 227 Entering Passive Mode (192.168.149.10,231,117) 150 Here comes the directory listing. 226 Directory send OK. ftp> cd / 250 Directory successfully changed. ftp> mkdir chroot_jail 257 "chroot_jail" created ftp>
7. VSFTP サーバーに作成されたディレクトリを確認します:
[root@ftp_host ~]# ls / | grep chroot_jail chroot_jail