[VSFTP] Zugriffsrechte auf Benutzerebene

Popopinsel

Ensign
Registriert
März 2007
Beiträge
132
[VSFTPD] Zugriffsrechte auf Benutzerebene

Hallo zusammen,

ich spiele gerade mit der FTP-Funktion meines neuen WLAN-Routers (Netgear WNR3500L) herum. Auf dem Gerät läuft eine Linux-basierte Tomato-Mod (TeddyBear Mod) mit USB-Unterstützung. Angeschlossen ist eine externe USB-Festplatte, die ich über das Web-GUI im LAN und mittels FTP-Server im WAN freigeben kann.

Der Zugriff auf den Server mit einem angelegten User funktioniert auch wunderbar, nur möchte ich nicht die gesamte Festplatte freigeben, sondern nur einige Ordner.

Jetzt bieten sich zwei Möglichkeiten an:

1. Ich ändere die vsftpd.conf (gibt dafür sogar ein extra Eingabefeld im Web-GUI) so ab, dass ich die Verzeichnisse mit "hide_file=" und "deny_file=" verstecke und beschränke. Das Problem hierbei ist allerdings zum Einen, dass ich nicht weiß, wie ich dabei mehrere Verzeichnisse angebe, diese mit Kommata zu trennen funktioniert z.B. nicht. Zum Anderen soll diese Methode, laut Beschreibung der Konfigurationsdatei, nicht sehr sicher sein und man sollte besser auf die Einschränkung auf Dateisystem-Ebene zurückgreifen.

2. Ich ändere die Zugriffsrechte auf Dateisystem-Ebene. Aber wie ich das unter Linux mache (dann per Telnet/Putty), hab ich keine Ahnung. Ich kenne zwar chmod, aber ich weiß nicht, wie ich damit die Rechte für diesen FTP-User anpasse.

Ich hoffe ihr könnt mir weiter helfen!


Edit:

Zum besseren Verständnis möchte ich mein Problem/Vorhaben noch einmal präzisieren:

Ich möchte unter diesem FTP-Server (VSFTP) die Zugriffsrechte auf Verzeichnisse auf Benutzerebene vornehmen. Das Web-GUI sieht im Übrigen so aus:

Dort kann ich einen globalen Root-Ordner sowie einen privaten Root-Ordner angeben. Der globale gilt dabei als Einstiegspunkt für ALLE FTP-User. Der private hingegen gibt den Ordner an, in welchem sich der Ordner befindet, der denselben Namen wie der User hat (in diesem Fall "Scorpion"). Dieser wird dann als Einstiegspunkt für diesen einen User gewählt.

Ob ein User im globalen oder privaten Ordner einsteigt, lässt sich ganu unten unter "Access" auswählen. Es gibt "Read/Write", "Read Only", "View Only" und eben "Private".

Jetzt habe ich mal probiert, einen Symlink von z.B. /mnt/Stuff/Filme auf /mnt/Stuff/Scorpion/Filme zu erstellen, was auch funktioniert hat, nur kann ich diesen dann nicht über den FTP-User "Scorpion" aufrufen (irgendeine Fehlermeldung wegen fehlgeschlagenem Zugriff). Denn ich will, wie gesagt, dass verschiedene FTP-User auf verschiedene bestehende (!) Verzeichnisse meiner Festplatte zugreifen können.

So, ich hoffe ich habe mich verständlich(er) ausgedrückt! :redface:
 
Zuletzt bearbeitet:
Ich kann dir nichts zu dem Router oder der Gui und so weiter sagen, aber einiges über vsftp und linux.

vsftp gibt dir die Möglichkeit einzelne (oder alle) Nutzer in ein chroot Gefängnis zu packen. Aus diesem kommen sie nicht raus, auch nicht über (symbolische) Links!

Ich weiß nicht wie der Router die einzelnen Benutzer erkennt und wie man sich anmelden muss etc. Angenommen es handelt sich um lokale Nutzer, dann kannst du natürlich über die Rechte einiges machen.
Wenn du googelst findest du einiges zum Rechte System von Linux. Hier eine ganz kurze Einführung:

Jede Datei und jedes Verzeichnis hat einen Besitzer (Owner) und eine Gruppe (group). Jeder Nutzer kann Mitglied in beliebig vielen Gruppen sein. Die Ausgabe von ls -l Verrät uns einiges. Hier ein Beispiel:

Code:
drwxr-xr-x  2 malte malte     4096 26. Okt 18:54 Desktop
Zuerst ein d weil es ein Verzeichnis ist, bei einer normalen Datei wäre hier einfach ein -, dann kommt die Rechte Maske: erst für den Besitzer, dann für Mitglieder der Gruppe und dann für alle anderen. Jeweils 3 Stellen r,w und x für lesen (read), schreiben (write), und ausführen (execute) bzw. bei Verzeichnissen eben hinen wechseln. Die Zahl danach ist ersmal unwichtig. Dann kommt der Name des Bsitzers malte und der Name der Gruppe, ebenfalls malte.

mit chmod kannst du die Rechte für die einzelnen Parteien ändern, mit chown Besiter für Dateien ändern. Du wirst hier nicht umhinkommen dich ein wenig in die Linux Nutzerveraltung einzulesen.

Achja: wenn deine externe Platte fat oder ntfs formatiert ist, dann werden diese Rechte Einstellungen nicht persistent sein!

malte
 
Zurück
Oben