2088505

FTP-Server-Tutorial: NAS & Mini-PC im Heimnetz

22.08.2015 | 10:09 Uhr |

Für den Zugriff auf die heimischen Daten über das Internet ist ein FTP-Server das bevorzugte Werkzeug. Dieser kann auf einem NAS, auf einem Windows-PC, auf einem Linux- PC oder auf einem Platinenrechner mit Linux laufen. Hier folgen die wichtigsten Regeln zur Einrichtung.

Bevor Sie sich einen eigenen FTP-Server aufbauen, sollten Sie folgende Einschränkungen bedenken: Wenn der FTP-Server Daten ausliefert, dann machen Sie aus Client-Sicht zwar einen Download, aber aus Geräte-Sicht handelt es sich um einen Upload. Erfahrungsgemäß sind die Upload-Geschwindigkeiten typischer DSL- und Kabel-Verträge mau bis sehr mau – oft nur ein Zehntel der Downloadleistung oder noch deutlich weniger. Und mit einem oder zwei MBit/s lässt sich gelegentlich eine Excel-Datei oder auch ein Musikstück abholen, aber keine Musiksammlung oder Videos. Zum zweiten ist ein FTP-Server nur dann nachhaltig, wenn er permanent läuft (oder notfalls jederzeit von einer Person zu Hause gestartet werden kann).

Für einen ständig laufenden Server kommt aber nur ein minimalistisches, stromsparendes Gerät wie ein NAS oder ein Platinenrechner in Betracht. Dies ist der Grund, warum im folgenden Beitrag Linux-basierte FTP-Server sowie NAS-Geräte im Zentrum stehen. Wer tatsächlich einen dicken Windows-PC als FTP-Server nutzen will, nimmt als Server-Software am besten den kostenlosen Filezilla-Server .

Der angeblich schnellste Windows-FTP-Client der Welt

FTP-Server auf einem NAS-System

Besitzer eines NAS-Geräts haben bei der Einrichtung eines FTP-Servers den geringsten Aufwand. Dort muss in der Konfigurationsoberfläche unter „FTP-Server“ nur der FTP-Dienst gestartet und mindestens eine FTP-Freigabe eingerichtet werden. Bei der Auswahl des oder der berechtigten Benutzer bietet das NAS-System die bereits eingerichteten User an.

Unter der Haube handelt es sich zwar um eine (von den Samba-Usern und den Netzfreigaben) völlig unabhängige Angelegenheit: Davon bekommen Sie aber nichts mit, weil der User automatisch samt Kennwort in die Gruppe der FTP-User übernommen wird und Sie daher mit den gewohnten Konten arbeiten können. Jedoch erkennen Sie an den Zugriffsrechten, die Sie beim FTP-Zugriff für einen User völlig unabhängig von den Netzwerkrechten vergeben können, dass LAN- und FTP-Freigaben je eigene Baustellen sind.

Neben der Angabe des Benutzer ist die Angabe eines Ordners (oder optional des gesamten Dateisystems) notwendig und ferner die Unterscheidung zwischen Lese- und Schreibberechtigung.

Die übrigen Voreinstellungen des FTP-Dienstes sind meistens für eine Basiskonfiguration völlig ausreichend, so dass an dieser Stelle keine weitere Arbeit anfällt.

FTP leicht gemacht: Die Konfigurationsoberflächen von NAS-Systemen bieten FTP-User und freizugebende FTP-Ordner per Mausklick an.
Vergrößern FTP leicht gemacht: Die Konfigurationsoberflächen von NAS-Systemen bieten FTP-User und freizugebende FTP-Ordner per Mausklick an.

FTP-Server auf Miniplatinen

Für Raspberry Pi und Co. sowie für Linux-Systeme generell gibt es eine Reihe von Alternativen. Auf eine grafische Konfiguration verzichten die meisten dieser FTP-Server, weil typische Linux-Server ohne grafische Oberfläche auskommen. Trotz der nicht ganz einfachen Einrichtung darf Vsftpd als Pseudo-Standard gelten, weil diese FTP-Software Minimalismus plus Flexibilität bietet. Wir beschreiben in aller Kürze die Basiseinrichtung von Vsftpd. Alle nachfolgenden Kommandozeilen gehen davon aus, dass Sie mit root-Rechten im Terminal unterwegs sind. Ist das nicht der Fall, muss jeweils ein „sudo “ vorangestellt werden. Wir gehen ferner davon aus, dass Sie ein Debian-basiertes System verwenden (Debian, Raspbian, Ubuntu, Mint).

Lese-Tipp: 23 GB Dropbox-Speicher gratis – so geht’s

Vsftpd gehört nicht zum Standardumfang. Sie müssen das kleine Paket mit

apt-get install vsftpd  

erst einmal nachinstallieren. Dabei entsteht nach unserer Erfahrung die User-Gruppe „ftp“ automatisch, was Sie aber mit

groupadd ftp 

zur Sicherheit kontrollieren sollten. Wenn die Gruppe schon vorliegt, erhalten Sie die Antwort „ftp already exists“. Richten Sie ferner den notwendigen Standard-User ftpsecure ein

useradd –m ftpsecure  

und dann mindestens einen tatsächlichen FTP-User, den Sie dann der Gruppe „ftp“ zuweisen:

useradd –m sepp  usermod -g ftp sepp  

Dabei entsteht automatisch (wegen Schalter „–m“) ein Home-Verzeichnis für diesen User, wo dieser auch Besitzer mit allen Dateirechten sein sollte:

chown sepp /home/sepp  

Natürllich können Sie auch bereits bestehende User verwenden; dann ist nur der Gruppeneintrag mit

usermod -g ftp [user]

erforderlich. Nun geht es an die eigentliche Konfiguration der Server-Software, die über die Textdatei „/etc/vsftpd.conf“ mit einem beliebigen Texteditor wie nano oder gedit erledigt wird. Diese Datei liegt ab Installation von Vsftpd vor und ist im Prinzip umfassend englischsprachig kommentiert. Problem ist nur, dass diese Kommentare nicht zwischen obligatorischen und optionalen Einträgen unterscheiden. Daher bieten wir in der Abbildung rechts oben ein funktionierendes, aber möglichst reduziertes Beispiel. Resultat dieser Konfiguration ist für die eingerichteten User ein globaler Lesezugriff auf dem gesamten Server (Download) sowie der Schreibzugriff im eigenen Home-Verzeichnis (Upload und Download).

Tutorial: NAS einrichten und verwenden

Funktionierende Minimalkonfiguration für Vsftpd: Zusätzlich ist nur noch ein winziger Eintrag in der Datei „/etc/vsftpd.user_list“ erforderlich.
Vergrößern Funktionierende Minimalkonfiguration für Vsftpd: Zusätzlich ist nur noch ein winziger Eintrag in der Datei „/etc/vsftpd.user_list“ erforderlich.

Alle FTP-User müssen mit den drei oben beschriebenen Befehlen („useradd –m [user]“ und so fort) eingerichtet sein. Ferner muss ein Eintrag des User-Namens in der Standarddatei „/etc/vsftpd.user_list“ vorhanden sein. Diese Datei „vsftpd.user_list“ könnte nicht simpler sein und enthält nur Zeile für Zeile die erlaubten Konten für den FTP-Zugriff – im Minimalfall also genau eine Zeile mit einem User-Namen wie „sepp“.

Nach allen Änderungen an der Konfiguration geben Sie immer diese beiden Befehle

/etc/init.d/vsftpd stop  /etc/init.d/vsftpd start  

ein, damit der Vsftpd-Dienst die Konfiguration neu einliest. Der nützliche Kontrollbefehl

/etc/init.d/vsftpd status  

zeigt im Zweifel, ob der Server aktuell läuft.

Ein weiter nützlicher Tipp, um eventuellen Fehlern in der Konfiguration auf die Spur zu kommen: Wenn Sie mit

cd /etc/init.d  

in das Verzeichnis gehen, in dem das Start-Script „vsftpd“ liegt, und dieses dann mit

vsftpd  

manuell starten, erhalten Sie Hinweise auf falsche Konfigurationszeilen.

Ab ins Internet: Portforwarding im Router

Egal ob NAS oder Bastelplatine: Testen Sie den Zugriff zunächst im eigenen LAN, indem Sie in einem FTP-Client wie Filezilla als Server-Adresse die private LAN-IP des Server-Geräts verwenden. Wenn das mit den gewünschten Zugriffsrechten wie gewünscht funktioniert, sorgen Sie in einem letzten Schritt für den Fernzugriff über das Internet. Das Prinzip in aller Kürze: Sie müssen im Router zwei Ports freigeben und an die lokale IP-Adresse des FTP-Servers leiten. In der Fritzbox geschieht dies unter „Internet > Freigaben > Neue Portfreigabe“.

Lese-Tipp: So richten Sie Ihren NAS optimal ein


Die Zielports am Server sind standardmäßig 20 bis 21. Als öffentliche Ports können Sie ebenfalls diese Standardkanäle 20 bis 21 angeben. Es erhöht aber die Sicherheit, wenn Sie andere öffentliche Ports eintragen. Dies müssen Sie später einem FTP-Client wie Filezilla unter „Port“ allerdings explizit mitteilen.

Wie Sie aus dem Internet an die öffentliche IP-Adresse und damit an den FTP-Server kommen: Entweder leitet Sie eine Dyn-DNS-Pseudoadresse an Ihre aktuelle öffentliche IP, oder Sie hinterlegen diese IP täglich selbst an geeigneter Stelle.

0 Kommentare zu diesem Artikel
2088505