Chroot für SFTP

Wenn man im Internet eine Lösung für die Aufgabenstellung sucht, landet man bei vielen sehr komplizierten Anleitungen sowas zu realisieren.  Seit OpenSSH 5 geht Chroot für SFTP von Haus aus.

Was ist Chroot? Mit ChangeRoot kann ich das Wurzelverzeichnis des Nutzers der sich anmeldet ändern. Das normale Wurzelverzeichnis (root, /) ist das Wurzelverzeichnis des Systemes. Von dort aus zweigen alle Unterverzeichnisse des Systems. Ändern man das Wurzelverzeichnis für einen Benutzer nun auf z.B. sein eigens Home Verzeichnis, hat dieser nicht mehr die Möglichkeit andere Verzeichnisse außerhalb davon zu erreichen. Der Benutzer ist darin nun eingesperrt und das restliche System vor ihm sicher.

Die Konfiguration

Zuerst legen wir eine Gruppe an, in die alle Benutzer sollen welche sich nicht mehr per SSH und nur noch in der chroot sftp Umgebung anmelden sollen:

die Benutzer nimmt man mit

in die Gruppe auf .

Nun folgt die Konfiguration von des ssh Dienstes. Wir ändern das sftp Subsystem, und erstellen eine Regel damit alle Benutzer in der Gruppe sftpusers nur noch sftp verwenden dürfen (/etc/ssh/sshd_config):

Zuletzt müssen die Datei Berechtigungen der Homeverzeichnisse angepasst werden. Es ist zu beachten das die Benutzer direkt in ihrer Wurzel keine Schreibrechte haben. So muss z.B. ein upload Verzeichnis angelegt werden.

Das Homeverzeichnis selbst muss root überstellt werden, als Gruppe bekommt es sftpusers:

Die Rechte sind 7 (alles) für root, 5 (lesen, ausführen) für die Gruppe:

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*