Konfiguration VSFTPD Server

  • Hallo zusammen,


    ich habe seit heute meinen Pi und bis auf meinen FTP habe ich auch schon alles soweit konfiguriert.
    Etliche Stunden habe ich schon im Netz verbracht - ich hoffe nun hier eine Lösung zu finden.


    Nun zu meinem Problem bzw. meiner Anforderung:


    Ich möchte über FTP Zugriff auf einen angeschlossenen USB-Stick bekommen. Der FTP-User darf sich nicht per SSH einloggen können und soll über FTP auch nur Zugriff auf den Stick über automount im Verzeichnis "media" bekommen (zumindest nicht auf die gesamte Verzeichnisstruktur).


    Ich könnte jetzt viel zu meinen Tests schreiben, daß es mit dieser Version des VSFTPD Probleme mit CHROOT gibt, wenn man das home-Verzeichnis wählt etc. und dann könnte ich auch meine Configs posten ... alles zu kompliziert, also gehen wir von der Grundinstallation des VSFTPD mit RASPBMC aus.
    Mit dem USER "pi" erhalte ich vollen Zugriff über FTP - es funktioniert also.


    Problem 1:
    Lege ich einen neuen User an, kann ich über FTP nicht auf die gemounteten Devices unter "media" zugreifen - der Zugriff wird verweigert.
    Was ich versucht habe:
    1. Rechte oder Owner zu ändern (als root) => wird nicht für diese Ordner übernommen
    2. Den Ordner des USB-Sticks unter "media" habe ich in das home-Verzeichnis des FTPUSERS gemountet => auch keine Rechte
    3. Den FTPUSER der Gruppe "pi" zugeordnet => macht keinen Unterschied, da der Ordner nur User- aber keine Gruppenrechte besitzt.


    Problem 2:
    Ich möchte nicht, daß der FTPUSER Zugriff über die shell bekommt. Also "bin/false" in der passwd beim User eingetragen.
    Damit bekommt der User dann aber auch keinen FTP-Zugriff mehr?! Ich bin davon ausgegangen, daß ich damit nur den Zugriff auf die shell verbiete.


    Vielen Dank vorab
    itsy

  • Hallo itsy,


    Quote

    Problem 2:
    Ich möchte nicht, daß der FTPUSER Zugriff über die shell bekommt. Also "bin/false" in der passwd beim User eingetragen.
    Damit bekommt der User dann aber auch keinen FTP-Zugriff mehr?! Ich bin davon ausgegangen, daß ich damit nur den Zugriff auf die shell verbiete.


    Ein "/bin/false" oder "/bin/nologin" als Default-Shell für einen Benutzer verhindert, dass sich dieser generell am System anmelden kann.


    Schau mal bei dir in die "/etc/pam.d/vsftpd". Da sollte am Ende die folgende Zeile stehen.


    Code
    auth   required        pam_shells.so


    Diese kommentierst du mit einem # am Zeilenanfang aus. Anschließend musst du noch den vsftpd neu starten.


    Code
    sudo service vsftpd restart


    Gruß Georg

  • Hallo boandlkramer,


    [font="Tahoma, Verdana, Arial, sans-serif"]das war ja mal echt schnell ;-)[/font]


    [font="Tahoma, Verdana, Arial, sans-serif"]Vielen Dank!![/font]


    [font="Tahoma, Verdana, Arial, sans-serif"]OK, das mit "bash" habe ich nun verstanden un gelernt :-)[/font]


    [font="Tahoma, Verdana, Arial, sans-serif"]Was ich nicht verstanden habe ist, was die Auskommentierung in der pam bewirkt.[/font]


    [font="Tahoma, Verdana, Arial, sans-serif"]Wärst Du so freundlich mir das zu erklären? In der Datei steht z.B. ein Hinweis auf die Deny-Liste, die ich ja z.B. aktiv lassen möchte.[/font]


    [font="Tahoma, Verdana, Arial, sans-serif"]Viele Grüße[/font]
    [font="Tahoma, Verdana, Arial, sans-serif"]itsy [/font]

  • Hallo itsy,


    indem du diese Zeile auskommentierst wird bei der Anmeldung über den vsftpd nicht überprüft ob der Benutzer auch eine gültige Shell hat. Du kannst dann also auch "/bin/false" oder "/bin/nologin" als Default-Shell verwenden.


    Gruß Georg

  • Hallo Georg,


    vielen Dank für die Erklärung!


    Habe es getestet und es funktioniert :)


    Hast Du vielleicht auch eine Lösung für mein anderes Problem? Also das ich mit dem USer FTPUSER nicht auf die USB-Mounts zugreifen kann, weil mir Rechte fehlen, ich diese aber nicht setzen kann?


    Viele Grüße
    Thorsten

  • So, ich habe weiter gesucht und getestet und kann die Rechte direkt beim mounten über die fstab setzen. Leider funktioniert das aber nicht so wie beschrieben.
    Nun passt die Überschrift nicht mehr zum eigenen Thema und ich werde hierzu gesondert ein Thema aufmachen, da man es wohl nicht mit der VSFTPD-Konfiguration lösen kann.