vsftpd – proftpd das Problem mit den symbolic Links

Das Problem: Die beiden bekannten FTP-Server vsftpd und proftpd folgen keinen Symlinks in der chroot-Umgebung.

Beide FTP-Server sind sehr populär und kommen in fast allen Linux-Distributionen zum Einsatz. Paralles Plesk zum Beispiel verwendet proftpd für das Bereitstellen der FTP-Dienste. Für manuelle Setups bevorzugen ich vsftpd, den vermutlich sichersten FTP-Server, so sagt man.

chroot und Symlinks bei vsftpd und proftpd

Innerhalb einer chroot-Umgebung kann man ohne Weiteres mit symbolischen Links arbeiten. Will man aber mit Hilfe eines solchen Symlinks die chroot-Umgebung verlassen funktioniert dies nicht.

Status:   Retrieving directory listing...
Command:  CWD /pfad/zum/symlink
Response: 550 Failed to change directory.
Error:    Failed to retrieve directory listing

Das Sicherheitskonzept der FTP-Server erlaubt es nicht die chroot-Umgebung zu verlassen.

Um trotzdem ein Verzeichnis in unser chroot zu linken müssen wir uns mit Mounts behelfen. Dazu erstellen wir uns zuerst ein Verzeichnis in das wir dann die Daten per mount verfügbar machen.

mkdir /pfad/zum/chroot/mount

Anschliessend können wir das Verzeichnis welche wir ursprünglich als Symlink bereitstellen wollten per mount einbinden.

mount --bind /pfad/zum/verzeichnis /pfad/zum/chroot/mount

Mit diesem Trick haben wir nun auch Zugriff auf Verzeichnisse ausserhalb unserer chroot-Umgebung.

Damit uns diese Einstellungen auch nach einem Reboot erhalten bleiben müssen diese noch in der fstab eingetragen werden.

Wie immer sollte man sich die Webseiten der beiden FTP-Server vsftpd und proftpd mal anschauen und ein Blick auf die Dokumentation werfen.

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.