Wie richte ich sftp so ein, dass ein Benutzer sein Home-Verzeichnis nicht verlassen kann, um sicherzustellen, dass keine anderen Benutzer betroffen sind? Nun, es gibt eine einfache Möglichkeit, dies zu tun. Wir können entweder alle lokalen Benutzer in das Standardverzeichnis $HOME chrooten oder dies nur für einen bestimmten Benutzer tun. Dieser Beitrag listet speziell die Schritte zum Chrooten von vsftpd nur für bestimmte Benutzer auf.
CentOS / RHEL :So legen Sie das Chroot-Gefängnis für vsftp für alle Benutzer festDas Chroot-Gefängnis für alle lokalen Benutzer mit Ausnahme einiger weniger auf das standardmäßige $HOME-Verzeichnis setzen
1. Legen Sie in der Konfigurationsdatei des VSFTP-Servers /etc/vsftpd/vsftpd.conf Folgendes fest:
# vi /etc/vsftpd/vsftpd chroot_local_user=YES chroot_list_enable=YES
2. Fügen Sie Benutzer hinzu, die KEIN Chroot-Jail in /etc/vsftpd/chroot_list benötigen Datei. Für dieses Beispiel fügen wir die Benutzer user01 und user02 hinzu:
# cat /etc/vsftpd/chroot_list user01 user02
3. Starten Sie den vsftpd-Dienst auf dem VSFTP-Server neu:
# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
4. Testen Sie einen Benutzer user01, der auf Chroot Jail eingestellt ist, und erstellen Sie ein Verzeichnis unter dem Chroot-Verzeichnis:
# 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. Überprüfen Sie das erstellte Verzeichnis auf dem VSFTP-Server:
[root@ftp_host ~]# ls / | grep chroot_jail [root@ftp_host ~]# ls /home/user01/ | grep chroot_jail chroot_jail
6. Testen Sie einen Benutzer user03, der vom Chroot-Gefängnis ausgeschlossen ist:
[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. Überprüfen Sie das erstellte Verzeichnis auf dem VSFTP-Server:
[root@ftp_host ~]# ls / | grep chroot_jail chroot_jail
Chroot Jail nur für wenige lokale Benutzer auf das Standardverzeichnis $HOME setzen
1. In der Konfigurationsdatei des VSFTP-Servers /etc/vsftpd/vsftpd.conf , setzen:
chroot_list_enable=YESHinweis :Stellen Sie sicher, dass „chroot_local_user “ ist NICHT auf „JA setzen “.
2. Listen Sie Benutzer auf, die ein Chroot-Jail benötigen, in /etc/vsftpd/chroot_list , fügen Sie die Benutzer user01 und user02 hinzu:
[root@ftp_host ~]# cat /etc/vsftpd/chroot_list user01 user02
3. Starten Sie den vsftpd-Dienst auf dem VSFTP-Server neu:
[root@ftp_host ~]# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
4. Testen Sie einen Benutzer user01, der auf Chroot Jail eingestellt ist, und erstellen Sie ein Verzeichnis unter dem Chroot-Verzeichnis:
[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. Überprüfen Sie das erstellte Verzeichnis auf dem VSFTP-Server:
[root@ftp_host ~]# ls / | grep chroot_jail [root@ftp_host ~]# ls /home/user01/ | grep chroot_jail chroot_jail
6. Testen Sie einen Benutzer user03, der vom Chroot-Gefängnis ausgeschlossen ist:
[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. Überprüfen Sie das erstellte Verzeichnis auf dem VSFTP-Server:
[root@ftp_host ~]# ls / | grep chroot_jail chroot_jail