VSFTPD und Verzeichnisse ausserhalb von home

centos_logoWie ich schon erwähnt habe, betreue ich an der Uni einen Server für ein Projekt. Auf dem Server laufen Web-, MySQL-, Samba- und FTP-Server. Da ich CentOS benutze, hatte ich als FTP Server den VSFTPD bereits als Paket zur Verfügung. Die Mitarbeiter des Rechenzentrums sind mit dem VSFTPD vertraut und aus diesem Grund hatte ich es vorgezogen auch dabei zu bleiben, damit im Notfall auch dort jemand damit umgehen kann.

Aus Sicherheitsgründen ist der Server so eingestellt, dass FTP Benutzer nur in ihrem eigenen Home-Verzeichnis ( /home/Benutzer) agieren können.

Dafür hatte ich die Option chroot_local_user=YES und local_enable=YES in der /etc/vsftpd.conf verwendet.

Für mich bestand das Problem jetzt darin, einem FTP Benutzer trotz der Einschränkung den Zugriff auf einem Ordner des Webservers ( /var/www/html/VerzeichnisXY) schnell und unkompliziert zu ermöglichen.

Zuerst hatte ich es mit dem Befehl ln probiert. Da dieser mich aber nicht wirklich weiter gebracht hatte, probierte ich es mit dem Befehl mount. Damit funktioniert es jetzt auch ohne Probleme.

Als Beispiel:

Mein Benutzer Max hat sein home-Verzeichnis unter /home/Max

Nur in seinem home-Verzeichnis kann er per FTP arbeiten.

Jetzt möchte ich aber, dass dieser Benutzer ein eigenes Verzeichnis für ein Projekt auf dem Webserver verwalten soll, ohne den kompletten Inhalt des Web-Verzeichnisses zu sehen.

Als Beispiel soll er nur Zugriff auf den Ordner unter  http://www.unsereseite.de/projekt1 erhalten

Ich lege also unter /var/www/html einen Ordner projekt1 an. Je nach Konfiguration sollte man daran denken die Benutzer- und Gruppenrechte anzupassen.

Als nächsten Schritt erstelle ich im /home/Max Verzeichnis einen Ordner für die Daten. Ich nenne ihn als Beispiel httpdocs.

Jetzt möchte ich, dass Max in den Ordner httpdocs per FTP gehen kann, um somit automatisch den Inhalt unter http://www.unsereseite.de/projekt1 zu ändern.

Dazu verwende ich den Befehl mount in der Variante:

mount  --bind <Ziel> <Ausgangsort>

Für mein Beispiel würde es also wie folgt aussehen:

mount --bind /var/www/html/projekt1 /home/Max/httpdocs

Jetzt kann sich der Benutzer Max per FTP verbinden und sieht in seinem home-Verzeichnis den Ordner httpdocs. Daten die er dort abgelegt, können dann unter
http://www.unsereseite.de/projekt1 verwendet werden.

Diese Vorgehensweise ist jedoch nur eine temporäre Lösung (z.B. bis zum nächsten Neustart)

Damit diese Zuweisung dauerhaft bestehen bleibt, schreibe ich den entsprechenden Eintrag in die /etc/fstab

In meinem Beispiel würde ein einfacher Eintrag so aussehen:

/var/www/html/projekt1 /home/Max/httpdocs none rw,bind 0 0

Damit der neue Eintrag in der fstab übernommen und somit aktiv wird, muss nur folgende Anweisung ausgeführt werden:

mount -a

Das war es schon.

Links

Beschreibung auf Wikipedia: de.wikipedia.org/wiki/Vsftpd
Englische Webseite von VSFTPD: vsftpd.beasts.org
Nützliche Übersicht auf Ubuntuusers.de

Über Torsten
Mein Name ist Torsten. Ich hoffe der Artikel hat dir gefallen und über ein Feedback von dir würde ich mich sehr freuen.

1 Kommentar zu VSFTPD und Verzeichnisse ausserhalb von home

  1. Guten Tag!
    Bis zu dem Punkt wo das Verzeichnis dauerhaft bestehen soll..
    Zitat:
    Damit diese Zuweisung dauerhaft bestehen bleibt, schreibe ich den entsprechenden Eintrag in die /etc/fstab

    In meinem Beispiel würde ein einfacher Eintrag so aussehen:

    /var/www/html/projekt1 /home/Max/httpdocs none rw,bind 0 0
    Zitat Ende

    was für einen Eintrag in die /etc/fstab?
    wenn ich den bind befehl in die konsole eingebe als root wird mir gesagt das es ein Verzeichnis ist

    Was mache ich falsch??

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*


Durch das Fortsetzen der Benutzung dieser Seite, stimmst du der Benutzung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen", um Ihnen das beste Surferlebnis möglich zu geben. Wenn Sie diese Website ohne Änderung Ihrer Cookie-Einstellungen zu verwenden fortzufahren, oder klicken Sie auf "Akzeptieren" unten, dann erklären Sie sich mit diesen.

Schließen