Forgot your password?

Forgot your username?

All about IT, Web and Development.
By users for users.

Raspberry Pi als FTP Server mit ProFTPD



Das Raspberry Pi eignet sich vor allem dank des geringen Energieverbrauches perfekt als kleiner FTP Server für den Datenaustausch.



Dieser Artikel zeigt die Installation und Konfiguration eines FTP Servers mit Hilfe von Raspbian und ProFTPD.


Installation


Zunächst installieren wir den ProFTPD Server auf dem Raspberry Pi.

apt-get install proftpd

Bei der Installation wird nach der Startart für den FTP Server gefragt. Hier wählen wir Servermodus aus.




Konfiguration


In der Standardeinstellung bietet der FTP Server jedem angemeldeten Benutzer nur Zugriff auf sein eigenes Home Verzeichnis (z.B. /home/pi).

Für einen FTP Server für den Datenaustausch ist dies allerdings weniger praktikabel. Ein zentrales Verzeichnis ist hier besser.


Benutzer und Gruppen


Um für ein Grundmaß an Sicherheit zu sorgen legen wir für den FTP Zugriff extra Benutzer und Gruppen an.

addgroup freigabe


adduser benutzer --ingroup freigabe --shell /bin/false

Die Shell /bin/false bewirkt, dass sich der Benutzer nicht lokal oder über SSH am System anmelden kann.

Hier vergeben wir auch gleich das Password für den Benutzer. Dieses wird später bei der Anmeldung am FTP eingegeben.


FTP Freigabe


Jetzt können wir die FTP Freigabe konfigurieren. Hierzu erstellen wir zunächst ein neues FTP Verzeichnis und setzen die passenden Berechtigungen.

mkdir /srv/ftp
chown root:freigabe -R /srv/ftp
chmod 775 -R /srv/ftp


Hiermit hat nur Root und die Gruppe freigabe Schreibzugriff auf das Verzeichnis.

Um das Verzeichnis nun per FTP freizugeben wird die Konfigurationsdatei /etc/proftpd/proftpd.conf editiert.

nano /etc/proftpd/proftpd.conf
<Directory /srv/ftp>
   UserOwner root
   GroupOwner freigabe
</Directory>

# Include other custom configuration files
Include /etc/proftpd/conf.d/


Mit den Optionen UserOwner und GroupOwner stellen wir sicher das alle hochgeladenen Dateien dem Benutzer Root und der Gruppe freigabe gehören.

Etwas weiter oben in der Konfigurationsdatei findet sich noch die Zeile RequireValidShell diese ist mit einem # auskommentiert. Diese schalten wir wie folgt wieder aktiv.

RequireValidShell off

Diese Option muss deaktiviert sein, da wir uns sonst nicht mit dem oben erstellen Benutzer auf dem Raspberry Pi FTP Server anmelden können.

Abschluss


Abschließend starten wir den ProFTPD neu und fügen den Dienst dem Autostart hinzu.

service proftpd restart
update-rc.d proftpd defaults


Nun können wir uns mit einem FTP Client verbinden. Zur Anmeldung verwenden wir den Benutzer "benutzer" mit dem oben gesetzten Passwort. Alternativ kann die FTP Freigabe auf einem anderen Server mounten.


Fazit


Die Konfiguration eines FTP Servers gestaltet sich auf dem Raspberry Pi ohne größere Hindernisse. Mit ein paar Einstellungen kann man dabei auch noch für eine grundlegende Absicherung des Servers sorgen.


Quellen: Raspberry Pi Logo

Michael Kostka

Fachinformatiker / Systemintegration
Ich schreibe hier regelmäßig zu den Themen Android, Web, Linux und Hardware.

Raspberry Pi Starter Kit
DataCloud

Leave a comment

I have read the privacy policy and agree to electronically store and process my input data to answer the request.

Peter

22.09.2015 20:59

Endlich mal ne Anleitung die auch klappt!
Hat mir sehr geholfen! :-)
Vielen Dank!

Patrick

05.01.2015 18:59

Die Anleitung zum Einrichten ist sehr gut gelungen. Hält man sich an die einzelnen Schritte, ist der FTP Server Betrieb nicht fern.

LG Patrick

Michael Kostka

30.03.2014 10:18

Hallo Markus,

hierzu musst du die Benutzer im Verzeichnis "einsperren" (=chroot). Dies ist über die nachfolgende Option möglich.

DefaultRoot /srv/ftp

Diese sollte schon in der Konfigurationsdatei /etc/proftpd.conf vorhanden sein und muss lediglich wieder einkommentiert und an das Verzeichnis angepasst werden.

Hoffe ich konnte dir damit weiterhelfen.

Viele Grüße
Michael

rednag

27.03.2014 01:40

Hallo Michael,

gute Anleitung. Hat auf Anhieb funktioniert. Ich kann aber mit dem angelegten Benutzer sämtliche Verzeichnise durchsuchen. Das beschränkt sich nicht nur auf die Freigabe.
Alle Verz. sind für den User frei zugänglich. Das kann doch nicht gewollt sein oder? Wie kann ich dem User die Rechte nur für /srv/ftp einräumen?

LG Markus