Raspberry Pi FTP Server
Vor einiger Zeit habe ich gezeigt wie man den Raspberry Pi als Server einsetzen kann. Besonders interessant ist für den Heimbereich der Einsatz als Raspberry Pi FTP Server, denn durch den geringen Strombedarf sind die laufenden Kosten viel niedriger als bei einem NAS.
Raspberry Pi FTP Server
Unter dem Begriff FTP versteckt sich der Begriff File Transfer Protokoll. FTP ist ein relativ alter Standard der sich mit der Übertragung von Dateien über ein Netzwerk beschäftigt. Es ist wichtig zu wissen, dass FTP zwar sehr weit verbreitet, aber unsicher ist. Standardmäßig werden Benutzer und Passwort im Klartext übertragen. Damit haben wir 2 Probleme:
- ein Angreifer kann leicht an Zugangsdaten bekommen
- hat der FTP Benutzer zu viele Rechte am System, dann ist das ganze System in Gefahr
Für das LAN Netzwerk und dem persönlichen Rapsberry Pi FTP Server mag das nicht so schlimm sein, im Internet sollte man so eine Server immer über TLS absichern oder besser Daten nur über SFTP übertragen!
Installation
Für unseren Raspberry Pi FTP Server verwenden wir eine beliebige Linux Distribution wie beispielsweise Raspbian. Als FTP Server Programm verwende ich ProFTP. Das ist am weitesten verbreitet, das heißt es ist davon auszugehen, dass das Programm weiterhin von der Community entwickelt und gepflegt wird. Installiert wird das Programm wie folgt:
sudo apt-get install proftpd
Das d beim Paketnamen steht übrigens für Daemon, das heißt das Programm läuft ab Systemstart im Hintergrund. Bei der Auswahl während der Installation wählen wir Servermodus aus.
Konfiguration
Das Wichtigste bei Serverdiensten ist immer die Konfiguration, so auch beim Raspberry Pi FTP Server. Der Daemon soll zum einen problemlos und zuverlässig laufen, zum anderen muss die Verwendung sicher sein. ProFTP wird über folgende Konfigurationsdatei eingerichtet:
sudo nano /etc/proftpd/proftpd.conf
Die Datei ist wie immer bereits mit einer Standardkonfiguration ausgestattet und sehr gut kommentiert. Wir fügen am Ende Datei lediglich unsere zusätzlichen Einstellungen hinzu:
DefaultRoot ~ AuthOrder mod_auth_file.c mod_auth_unix.c AuthUserFile /etc/proftpd/ftpd.passwd AuthPAM off RequireValidShell off
Zuletzt benötigen wir noch einen eigenen FTP Benutzer am System. Mit diesem meldet man sich über FTP an. Man kann somit dem Benutzer Zugriff auf bestimmte Ordner und Dateien erlauben oder verweigern. Eine solche Einstellung wäre ein Verzeichnis in der unser FTP Benutzer ausschließlich Leserechte besitzt. Angelegt wird der Benutzer wie folgt:
cd /etc/proftpd/ sudo ftpasswd --passwd --name werner --uid 33 --gid 33 --home /var/www/ --shell /bin/false
Über den Parameter home haben wir das Verzeichnis definiert auf das der Benutzer Zugriff hat. Die Rechte kann man beliebig anpassen:
sudo chmod g+s /var/www sudo chmod 775 /var/www sudo chown -R www-data:www-data /var/www
Die Einstellungen der Konfiguration unseres Raspberry Pi FTP Servers greifen erst nach einem Neustart des Deamons:
sudo /etc/init.d/proftpd restart
Speicherplatz erweitern
Im Gegensatz zu einem richtigen NAS hat der Raspberry Pi FTP Server relativ wenig Speicherplatz. Ohne weitere Konfiguration nur den Rest auf der SD Karte der nach der Installation des Betriebssystems übrig bleibt. Wem das zu wenig ist, der kann über die USB Schnittstellen den Speicher massiv erweitern. Neben USB Sticks mit mehreren GB zusätzlichen Speicher kann man auch externe Festplatten anhängen. Es gilt hier abzuwägen wie viel zusätzlicher Speicher sinnvoll ist, denn gerade externe Festplatte benötigen wieder mehr Strom. Irgendwann rentiert sich dann der Einsatz vom Raspberry Pi FTP Server gegenüber einem NAS nicht mehr.
Fazit
Der Raspberry Pi FTP Server ist ein lokaler Datenspeicher im Heimnetzwerk. Richtig konfiguriert ist er auch sicher gegenüber Zugriffen von außen. Dank unterschiedlicher FTP Benutzer und erweiterbarem Speicherplatz ist diese Lösung auch für kleine und mittlere Betriebe interessant, die richtige Backup Strategie vorausgesetzt.
Verwendet ihr auch den Pi als FTP Server? Welche Alternativen habt ihr oder könnt ihr empfehlen?