Hier wird beschrieben wie man eine einfache chroot Umgebung für einen ssh Benutzer erstellt, um z.B. Dateien auszutauschen ohne dass dieser Benutzer gleich Zugriff auf alle Dateien des PCs hat.
Für die chroot Umgebung wird das Paket libpam-chroot benötigt.
Zunächst wird ein neuer Benutzer erstellt:
Jetzt muss das home Verzeichnis für den Benutzer erstellt werden. Damit man sich anmelden kann müssen hier die Kommandozeilen-Werkzeuge und deren zugehörige Bibliotheken vorhanden sein welche für die Anmeldung notwendig sind.
Der Einfachheit halber kann man die Verzeichnisse /bin, /lib, /lib64 und /usr einfach per mount -o bind in das home Verzeichnis des Benutzers hinein mounten.
Wenn man den chroot Benutzern misstraut, kann man sich aber natürlich auch die Mühe machen nur die tatsächlich benötigten Werkzeuge herauszukopieren. Hier ist das Werkzeug ldd hilfreich um die benötigten Bibliotheken die für ein betimmtes Kommadozeilen-Werkzeug herauszufinden.
Soll die chroot Umgebung dauerhaft Bestand haben müssen die mount Anweisungen in die /etc/fstab (Hab ich nicht getestet, müsste aber so gehen).
Als nächstes muss dem SSH Server mitgeteilt werden dass dieser den neuen Benutzer in die chroot Umgebung einsperren soll. Dazu editiert man die Datei für die SSH Server Konfiguration:
Und fügt an das Ende der Datei folgende Zeilen ein:
Abschließend muss man den SSH Server noch neu starten: