Raspberry Pi FTP-Server

FTP-Server auf Raspberry Pi mit ProFTPD

Das File Transfer Protocol (kurz FTP) ist ein Netzwerkprotokoll zur Übertragung von Dateien und findet zur Dateiübertragung bei Webservern breiten Einsatz. In diesem Tutorial zeige ich dir wie du einen FTP-Server auf deinem Raspberry Pi installierst.

Was ist ProFTPD?

ProFTPD ist ein weit verbreiteter, freier FTP-Server für Unix-Plattformen. Er ist in den meisten Distributionen enthalten – auch in Raspian, Debian oder Ubuntu. ProFTPD ist einer der am häufigsten verwendeten FTP-Server für Unix-Systeme.

Installation von ProFTPD

Im ersten Schritt müssen wir das Paket proftpd installieren. Das geht wie gewohnt aus den Raspian Paketquellen mit apt-get install.

sudo apt-get install proftpd

Arbeitest du als root, kann das sudo vor den Befehlen weggelassen werden. 😉

Nun wähle in der Installationsroutine standalone aus.

ProFTPD standalone auswählen
ProFTPD standalone auswählen

Das wäre schon die eigentliche Installation des FTP-Servers. Nun geht’s an das konfigurieren.

Konfiguration von ProFTPD

Unter /etc/proftpd/ müssen wir nun die passende Konfigurationsdatei proftpd.conf editieren.

sudo nano /etc/proftpd/proftpd.conf

Um virtuelle User benutzen zu können, einfach diesen Code einfügen.

DefaultRoot ~
AuthOrder              mod_auth_file.c  mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off

Tipp zum Editor ’nano‘: Mit der Tastenkombination Strg + X kannst du die Datei speichern und den Editor verlassen.

Die virtuellen User werden in /etc/proftpd/ erstellt, dafür müssen wir in das Verzeichnis.

cd /etc/proftpd/

Zum Erstellen eines virtuellen Users wird folgender Befehl verwendet.

Nun erstellen wir einen virtuellen User mit dem Namen paul für das Verzeichnis /var/www (Standard Apache-Webserver Pfad). Sollte der Ordner noch nicht existieren, kann er mit „sudo mkdir /var/www“ erstellt werden. Mit dem Parameter –uid & –gid geben wir dem virtuellen User die  Schreib-/Leserechte des Users www-data. 33 ist die Standard Gruppen-ID des www-data Users. Mit dem Befehl id www-data kannst du sie auch auslesen.

sudo ftpasswd --passwd --name paul --uid 33 --gid 33 --home /var/www/ --shell /bin/false

Nun wirst du aufgefordert ein Passwort zu vergeben. Wiederhole diesen Schritt für jeden FTP-Benutzer.

Im letzten Schritt muss der Server neugestartet werden.

sudo /etc/init.d/proftpd restart

___

Es kann sein, dass du auf /var/www nicht genügend Schreibrecht hast. Mit diesen Befehlen kann das gelöst werden.

sudo chmod g+s /var/www
sudo chmod 775 /var/www
sudo chown -R www-data:www-data /var/www

Nun kannst du dich beispielweise über Filezilla anmelden und Dateien verschieben. Auch ftp://IP-DEINES-PI in deinem Browser funktioniert. 😉

FTP-Server auf Raspberry Pi - Weboberfläche im Browser
FTP-Server auf Raspberry Pi

15 Kommentare zu “FTP-Server auf Raspberry Pi mit ProFTPD

    1. Hallo Kay, sicherlich nichts. Das mit ProFTPD sollte auch nur ein Beispiel / eine Möglichkeit sein 😉 Nach dem hier, scheint ProFTPD für den Heimgebrauch auch garnicht mal so verkehrt zu sein 😉

      1. Hey Paul,
        gerade auf dem pi würde ich einen leichtgewichtigen FTP Server einsetzen. Bei deiner Wahl eines Web Servers hast du dich ja auch „richtig“ für nginx entschieden 😉 Für den Heimgebrauch sollte eigentlich schon SFTP reichen. Ansonsten, schönes Tutorial und für Einsteiger verständlich erklärt.

        1. Hallo Kay, ich werde mir vsftpd mal näher anschauen, eventuell darauf zurückkommen und ein Tutorial dazu schreiben 😉 Danke für dein Feedback

  1. Ich habe alles wie beschrieben gemacht, und bekomme wenn ich (lokal) auf meinen pi via ftp://LOKALEIP/ zugreife zwar einen HTAccess Anmeldebildschirm, aber ich bekomme IMMER „530 Login Incorrect“.

    Hast du eine Idee? Ich bin überfragt. Passwort und Pfad wechseln hat nichts gebracht :/

    1. Hallo S0nny,
      hast du auch auf die Groß-/Kleinschreibung geachtet? Wenn du über FileZilla versuchst auf den Pi zu kommen, darfst du kein ftp:// benutzen.

      Gruß
      Willy

  2. Hey 🙂
    Super Anleitung jedoch habe ich leider ein Problem.
    Sobald ich versuche auf den FTP zu Connecten sagt dieser mir ständig
    „Zugriff verweigert“ (trotz richtigen passwort, oder ist es ein anderes als man oben für den Benutzer festlegt!?)
    Habe auch schon mehrere Benutzer angelegt und ausprobiert aber es funktioniert leider keiner :/.
    In den Routereinstellungen habe ich auch schon rumprobiert, kriege es aber einfach nicht gebacken. (Habe einen W 504V, vielleicht kennst du dich da ja besser aus)
    Hoffe du kannst mir helfen!

    Gruß Cholic 🙂

  3. Ich hab ein paar fehler entdeckt.

    1)bei dir steht:
    -name paul –uid 33 –gid 33 –home /var/www/ –shell /bin/false

    aber das /strong sollte da nicht drin sein.

    2)
    wenn man den ftp server auf eine frische raspbian distribution macht dann fehlt der ordner var/www
    dieses kann man mit :
    cd /var
    sudo mkdir www

    beheben.

    liebe grüße fred

  4. Hi,
    kannst du mir sagen wie man User wieder löscht?
    Interessant wäre auch von vorhandenen Benutzern die Passwörter ändern zu können?

    Danke

    1. Hallo Martin,
      mit
      ftpasswd --passwd --name user --delete-user
      lässt sich ein User löschen und mit
      ftpasswd --passwd --name user --change-password
      kann das Passwort des jeweiligen Users geändert werden.

      Gruß
      Willy

  5. Hey Willy,
    ich habe alles so gemacht wie im Tutorial beschrieben, aber ich bekomme beim Einloggen die Meldung, dass mein Passwort falsch sei.
    Das Passwort ist aber richtig! Ich habe auch auf die Groß-/ Kleinschreibung geachtet.

    Hoffe du kannst mir helfen 🙂

    1. Fehler war, dass ich den Numblock aus hatte.

      Nächster Fehler:
      Fehler: Authentifizierung fehlgeschlagen.
      Fehler: Kritischer Fehler: Herstellen der Verbindung zum Server fehlgeschlagen

      Hoffe du kannst mir helfen 🙂

      1. Hallo David,
        schaue bitte mal im Log von Proftpd nach, ob dort mehr Informationen zum Fehlverhalten zu finden sind. Der Log sollte sich unter /var/log/proftpd/proftpd.log befinden.

        Gruß
        Willy

Schreibe einen Kommentar

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