vsftpd User ins Homevereichnis

  • Mahlzeit

    Ich versuche gerade einen FTP Server einzurichten.

    Ich habe dazu vsftpd auf meinen Pi mit piOS lite 64bit istalliert.
    Grundlegend hat es auch geklappt, ich kann mit dem User einloggen. Habe dann aber das komplette Filesystem zur Verfügung. Und das soll ja nicht so sein.
    Wenn ich in der /etc/vsftpd.conf nun chroot_lokal_user=YES einstelle kann ich nicht mehr einloggen.
    https://wiki.ubuntuusers.de/vsftpd/#Lokale…is-beschraenken

    Ich bekomme in dem Fall nur die Meldung, dass der Vorgang nicht unterstützt wird.
    Übrigens stelle ich aktuell die Verbindung mit pcmanfm her um direkt darüber Dateien verschieden zu können.

    Hat jemand ne Ahnung was da falsch läuft?

    provozierter Experte für semifachliche Individualangelegenheiten

  • Ich habe die Verbindung gerade mal mit dem FileZilla getestet und da geht es wie es soll!

    //EDIT Nope, ich komme auch von dort auf ganze Filesystem//

    Über den Dateibrowser muss ich nicht per ftp sondern per ssh verbinden damit es geht.
    Irgendwie komisch, aber es geht.

    provozierter Experte für semifachliche Individualangelegenheiten

  • Also ich bekomme hier Pickel.
    Es gibt massig Anleitungen im Web für vsftpd.
    Alle machen das auch diese weise.
    Aber sobald ich das in meinen Augen wichtige chroot_local_users=YES nutze komme ich nicht mehr auf den Server.
    Ich habe es mit diesem User Token $USER versucht wie auch ein explizites Verzeichnis auf dem Server.
    Sobald ich diese Zeile nutze komme ich per FTP nicht mehr auf den Server.

    provozierter Experte für semifachliche Individualangelegenheiten

  • Schuss ins Blaue. Das schon gesehen?

    vsftpd on raspberry pi doesn't chroot users
    I'm attempting to run an FTP server on a raspberry pi, and after a lot of struggle I finally made it work, however for some reason the server doesn't place…
    superuser.com
    How to Setup FTP Server with Vsftpd on Raspberry Pi
    This tutorial explains how to install and configure an FTP server on Raspberry Pi that you use to share files between your devices.
    linuxize.com

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Actionschnitzel
    Jup, die Seiten hatte ich auch schon auf und die machen im Grunde nichts anders als alle anderen.

    Ich habe es mit mit dem Hauptuser probiert der ja ein "normales" Home Verzeichnis hat wie auch einem angelegten User der als Home /var/www/ hat.
    Sobald ich diese Zeile nutze komme ich nicht per FTP drauf.

    provozierter Experte für semifachliche Individualangelegenheiten

  • Actionschnitzel
    Jup, die Seiten hatte ich auch schon auf und die machen im Grunde nichts anders als alle anderen.

    Ich habe es mit mit dem Hauptuser probiert der ja ein "normales" Home Verzeichnis hat wie auch einem angelegten User der als Home /var/www/ hat.
    Sobald ich diese Zeile nutze komme ich nicht per FTP drauf.

    Raspberry Pi OS ist da ein bisschen speziell. Das ist ist ja kein normales Debian. Da laufen alle Stricke sehr stramm auf der USER(ehemals Pi) zusammen. Wenn man da was verändert kann das Probleme geben. Ich gucke mal in die Thematik rein, probiere etwas rum. Das interessiert mich jetzt.

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Mein schlaues Buch hat nur Infos über Samba und NFS. Ist das auf deinem Pi400 oder soll das Headless wo anders laufen? Für File-Storage gibt auch https://www.openmediavault.org/

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Das ist headless auf meinem pi4.
    Ist das ganz aktuelle piOS lite 64bit.
    Erster User heißt nicht pi sondern mario.
    Überlege schon die Ubuntu Serverversion oder so aufzuspielen damit diese extreme Vergondelung vom Hauptuser weg ist.
    Das ist nämlich schon etwas, was beim Pi hier und da nerven kann.
    Welches schlaue Buch zum Pi hast du denn?

    provozierter Experte für semifachliche Individualangelegenheiten

  • Das ist headless auf meinem pi4.
    Ist das ganz aktuelle piOS lite 64bit.
    Erster User heißt nicht pi sondern mario.
    Überlege schon die Ubuntu Serverversion oder so aufzuspielen damit diese extreme Vergondelung vom Hauptuser weg ist.
    Das ist nämlich schon etwas, was beim Pi hier und da nerven kann.
    Welches schlaue Buch zum Pi hast du denn?

    Bis von nem Jahr hieß der Nutzer noch unveränderlich Pi. Ja Probier mal Ubuntu-Server!

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Bis von nem Jahr hieß der Nutzer noch unveränderlich Pi.

    Ja, und ich finde verdammt gut, dass das jetzt nicht mehr so ist.
    Wie viele Pi waren per Portfreigabe im Web und hatten die Credentials pi:raspberry?!

    casaOS hatte ich mir schon angeschaut, ist aber nicht, was ich möchte/brauche.
    Mir geht es um ein lokales synchronisieren der Verzeichnisse auf den Win und Linux Geräten und davon ein Backup.
    So kann jeder in seinem Home oder Eigenedateien arbeiten und trotzdem soll alles dahin synchronisiert werden, egal ob Windows oder Linux.
    Hier sehe ich syncthing im Moment als die beste Lösung. Da kann man einstellen welche Verzeichnisse von welchen Geräten in welche Verzeichnisse synchronisiert werden sollen. Zumindest habe ich das so verstanden.

    provozierter Experte für semifachliche Individualangelegenheiten

  • Also ich hab das für mich so gelöst: Ich habe eine separate Festplatte (1TB) auf der alle meine Sachen in einem Nextcloud-Ordner liegen. Per Sym-Link hab ich dann die wichtigsten Verzeichnisse nach HOME verknüpf. Mit der richtigen Speichergrüße der Cloud kannst du noch Backups fahren.

    Work-PC: Debian 12 + Gnome | Surface Go2: Ubuntu 24.04 + Surface-Kernel | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 24.04 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Ja, aber ich habe hier ein großen Rechner mit Win, einen Laptop mit MINT und den Pi400, meine Frau ihren Win Rechner und ein Win Laptop, mein Junior seinen Win Rechner und einen Pi400.
    Sprich ich muss von drei Leuten ihre Sachen je über mehrere Systeme synchronisieren, dass an einem Ort so dass ich von allem immer ein Backup machen kann.
    Dazu hab ich extern noch eine Nextcloud welche aber in erster Linie von mir genutzt wird um extern Dateien zu teilen oder zu bekommen.

    provozierter Experte für semifachliche Individualangelegenheiten

  • Soohooo,

    ich habe jetzt ubuntu 22.04 LTS Server 64bit auf dem Pi4 am laufen.
    Apache2 mit PHP und vsftpd.
    Und es klappt!
    Mein FTP User kann sich einloggen und nur im Verzeichnis /var/www/ arbeiten.
    Ich musste die umask noch anpassen, aber jetzt geht es.

    vsftp achte wohl sehr auf die Rechte die sich aus der .config ergeben.
    Generell musste ich das Schreiben für FTP User erlauben, und wenn man die in einem Verzeichnis einsperrt, dann muss man nochmal explizit sagen, dass solche Verzeichnisse beschreibbar sind.
    In der Doku zu vsftpd wird davor gewarnt, da es wohl einen generellen FTP exploid gibt womit solche User schaden am System anrichten könnten.
    Daher sollte man z.B. dem User die Möglichkeit entziehen sich per SSH zu verbinden (vermute damit könnten die ausbrechen).
    Da der FTP aber nie nach draußen kommt, sondern ich mich per VPN Verbinde wenn nötig, sollte das hier kein Problem darstellen.
    Jetzt muss ich nur noch die Sache mit dem VPN angehen, da ich hinter einem DS Lite Anschluss sitze.
    Aber das ist ein Problem für einen anderen Tag!

    provozierter Experte für semifachliche Individualangelegenheiten

  • Mal eine doofe Zwischenbemerkung von mir dazu:

    Ich sichere und verteile meine Daten im Heimnetzwerk über 2 Rechner, eins ist eine Synology-NAS und einer ist ein Debian-PC mit ssh.

    Ich musste für sftp nichts nachinstallieren, ssh hat das wohl mit eingebaut. Ich schicke dem Server meinen öffentlichen Schlüssel ohne Passwort und muss mich dann nicht mehr einloggen und kann über das sftp-Protokoll mit allem möglichen zugreifen.

    Oder habe ich das Problem nicht verstanden?

    And still, we will be here, standing like statues.

    Schinder und Knarren, statt Kinder und Narren...

    Alles ist so unsagbar schnell geworden.
    (EROC, Let's Gläntz)

    Vertrauen muss verdient werden. Man verschenkt es nicht.

    Ich stelle keine dummen Fragen. Du musst Dich mit Deinen Antworten schon ein bisschen anstrengen.

  • Lokal kann man das so machen Currock
    sftp funktioniert ja über ssh wie scp.
    Ich wollte aber einen "richtigen" FTP Server wo ich entsprechenden usern Rechte und Verzeichnisse zuordnen kann.
    Ich kann jetzt mit dem Dateibrowser und dem ftp User für den Apache Server einloggen. Dann kann ich das Verzeichnis in VSCode öffnen und direkt auf dem Server mit den Dateien arbeiten. Und genau das war mit wichtig. So kann ich an jedem Gerät arbeiten ohne erst noch Dateien dafür zu synchronisieren.
    Bisher habe ich auf meinem Laptop einen Apache Server am laufen gehabt und konnte dann entsprechend nur an diesem an Webseiten arbeiten.
    Es ist also eine Frage vom Anwendungsfall.

    provozierter Experte für semifachliche Individualangelegenheiten


  • Ich wollte aber einen "richtigen" FTP Server wo ich entsprechenden usern Rechte und Verzeichnisse zuordnen kann.

    Das ist wohl auch bei ssh Konfigurationssache. Ok, den Anwendungsfall habe ich bisher nicht und halte mich da lieber raus. Auch bin ich der einzige, der in meinem Netz herumwandert und von außen gibt es nur einen VPN-Zugang, den außer mir niemand nutzt.

    And still, we will be here, standing like statues.

    Schinder und Knarren, statt Kinder und Narren...

    Alles ist so unsagbar schnell geworden.
    (EROC, Let's Gläntz)

    Vertrauen muss verdient werden. Man verschenkt es nicht.

    Ich stelle keine dummen Fragen. Du musst Dich mit Deinen Antworten schon ein bisschen anstrengen.

  • Ein Lösungvorschlag so habe ich das bei mir mit sftp gemacht.

    - Lege deinen User normal an

    - Speichere deine Daten abgesehen vom System an sich nur unter home/[user]

    - Entziehe die Dir und Leserechte des für die Gruppe und alle anderen für das jeweilige Home Verzeichnis mit

    Code
    chmod 0700 home/[user] #wichtig nicht -R für rekursiv, nur die oberste Schicht nehmen.

    Das Ergebnis => jeder User kann zwar die OS-Dateien sehen aber nicht die Dateien des anderen somit hast du eine ausreichende Isolierung für private Zwecke.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!