GNU/Linux >> LINUX-Kenntnisse >  >> Linux

CentOS / RHEL :So legen Sie das Chroot-Gefängnis für vsftp nur für bestimmte Benutzer fest

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 fest

Das 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=YES
Hinweis :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


Linux
  1. So erstellen Sie ein freigegebenes Verzeichnis für alle Benutzer in Linux

  2. CentOS / RHEL 7 :So aktivieren Sie Telnet für eine Gruppe von Benutzern

  3. So legen Sie children-max für den udev-Dienst in CentOS/RHEL 7 fest

  4. CentOS / RHEL 7:So legen Sie das Standardziel fest (Standard-Runlevel)

  5. CentOS / RHEL :So deaktivieren Sie ssh für Nicht-Root-Benutzer (ssh nur für Root-Benutzer zulassen)

So richten Sie SSH unter CentOS und RHEL ein

CentOS / RHEL 6 :So begrenzen Sie Speicherressourcen für einen bestimmten Benutzer mithilfe von cgroups

Wie unterscheiden Sie ein Verzeichnis nur für Dateien eines bestimmten Typs?

So legen Sie die Prozess-ID in Linux für ein bestimmtes Programm fest

Wie chown ich das Verzeichnis für mehrere Benutzer?

Wie setze ich umask für einen Systembenutzer?