Dieser Artikel beschreibt, wie man ein Chroot-Gefängnis konfiguriert, indem man sowohl Debian®- als auch RPM Package Manager (RPM)-basierte Distributionen verwendet.
Diese Anweisungen erstellen das Chroot-Gefängnis unter Verwendung der folgenden Beispielgruppen und Benutzernamen:
-
Gruppe:sftponly
-
Benutzer:ftpuploader
Erstellen Sie eine Gruppe für inhaftierte Benutzer
Verwenden Sie die folgenden Anweisungen, um eine Gruppe für inhaftierte Benutzer zu erstellen:
-
Erstellen Sie die Jailed-Gruppe mit dem folgenden Befehl:
groupadd sftponly
Hinweis: Diese Gruppe wird verwendet, um Benutzer auf ihr Home-Verzeichnis zu beschränken oder einzusperren.
-
Öffnen Sie /etc/ssh/sshd_config in einem Texteditor und bearbeiten Sie die Datei mit den folgenden Schritten:
-
Kommentieren Sie die folgende Zeile aus, indem Sie ein Nummernzeichen setzen (
#
) vor der Zeile:Vorher:
Subsystem sftp /usr/libexec/openssh/sftp-server
Nachher:
#Subsystem sftp /usr/libexec/openssh/sftp-server
-
Fügen Sie am Ende der Konfigurationsdatei die folgenden Zeilen hinzu:
Subsystem sftp internal-sftp Match Group sftponly ChrootDirectory %h X11Forwarding no AllowTCPForwarding no ForceCommand internal-sftp`
-
-
Überprüfen Sie, ob die Syntax in der neuen Konfiguration korrekt ist, und laden Sie sshd neu indem Sie die folgenden Befehle verwenden:
sshd –t service sshd reload
Erstellen Sie einen Secure File Transfer Protocol-Benutzer
Führen Sie die folgenden Schritte aus, um einen Benutzer für das Secure File Transfer Protocol (SFTP) zu erstellen:
-
Erstellen Sie mit dem folgenden Befehl ein Home-Verzeichnis für den SFTP-Benutzer:
mkdir -p /home/chroot/ftpuploader/public
-
Erstellen Sie einen neuen Benutzer mit einem Home-Verzeichnis, das keinen Shell-Zugriff hat, und fügen Sie ihn der Gruppe sftponly hinzu indem Sie den folgenden Befehl verwenden:
useradd -d /home/chroot/ftpuploader -s /sbin/nologin -G sftponly ftpuploader
-
Wenn Sie bereits einen SFTP-Benutzer erstellt haben, müssen Sie den Shell-Zugriff des Benutzers auf /sbin/nologin setzen und fügen Sie sie der Gruppe sftponly hinzu indem Sie den folgenden Befehl verwenden:
usermod -s /sbin/nologin -G sftponly ftpuploader
-
Legen Sie nun ein neues Passwort für den SFTP-Benutzer fest, indem Sie den folgenden Befehl verwenden:
Passwd ftpuploader
-
Ändern Sie die Berechtigungen und den Besitz des Home-Verzeichnisses mithilfe von RPM- und Debian-basierten Distributionen wie im folgenden Code gezeigt:
chown root:root /home/chroot/ftpuploader/ chown ftpuploader:sftponly /home/chroot/ftpuploader/public chmod 711 /home/chroot/ chmod 755 /home/chroot/ftpuploader/ chmod 755 /home/chroot/ftpuploader/public
Hinweis: In den vorhergehenden Befehlen ist die Gruppe sftponly ob der Benutzer Teil des sftponly sein wird Gruppe.