Im Durchschnitt wird dieses Tutorial FTP Server Dienst installieren und konfigurieren mit 5 bewertet, wobei 1.0 die schlechteste und 5.0 die beste Bewertung ist. Es haben insgesamt 489 Besucher eine Bewertung abgegeben.
489 0

FTP Server Dienst installieren und konfigurieren

vom gridscale Team FTP Ubuntu
tutorial - FTP Server auf ubuntu erstellen

Mit Hilfe des File Transfer Protokolls (kurz FTP) ist es möglich, Dateien und Ordner auf einen Server zu übertragen.

Da man über FTP keine Dateien oder andere Programme ausführen kann, galt es lange Zeit als sicher und wird auch heute noch von vielen Hosting Anbietern genutzt damit deren Kunden ihren Content auf einem einfachen Weg auf den Server übertragen können. Heute gilt FTP allerdings nicht mehr als sicher, da der Content unverschlüsselt übertragen wird und daher abgefangen werden kann. Außerdem lässt sich FTP nicht hinter einer Firewall betreiben, da es zusätzlich zum Standard Port 21 einen zufälligen High Port nutzt.
Alternativen sind SFTP und FTPS. Für die lokale Anwendung kann FTP allerdings noch nützlich sein, da es viele meist kostenlose Anwendungen gibt, die einfach und übersichtlich sind. Daher wird hier gezeigt, wie auf einem Ubuntu Server der FTP Server Dienst installiert und konfiguriert werden kann.

Server vorbereiten

Wie vor jeder Installation sollte der Server auf den neuesten Stand gebracht werden. Mit folgendem Befehl wird der Paketmanager APT angewiesen, alle Pakete auf den neuesten Stand zu bringen:

apt -y update && apt -y upgrade && apt -y dist-upgrade

Nach kurzer Wartezeit ist der Server auf dem neuesten Stand. Es kann weitergehen.

FTP Server Dienst installieren

Da FTP ein sehr verbreitetes Protokoll ist, gibt es auch viele Anwendungen die auf FTP aufbauen. Hier wird der VSFTPD Server gezeigt. Im Gegensatz du den Alternativen aus dem Universe oder Multiverse Zweig, werden Main Zweig Pakete regelmäßig gepflegt und mit Sicherheitsupdates versorgt. Außerdem ist VSFTPD sehr auf Sicherheit ausgelegt. Es lässt sich unter Ubuntu einfach über APT installieren und unterstützt alle gängigen FTP Methoden – aber dazu später mehr.

APT kann mit folgendem Befehl dazu angewiesen werden, VSFTPD zu installieren.

apt -y install vsftpd

Nachdem APT den Dienst installiert hat, wird er automatisch gestartet. Der Server bietet also direkt nach der Installation den Dienst an, noch bevor die Konfiguration angepasst wurde. Es ist aber zu empfehlen, den Dienst zuerst wieder zu stoppen und anschließend die Konfiguration anzupassen.

Dazu dient folgender Befehl:

service vsftpd stop

Ist der Dienst beendet, kann fortgefahren werden.

FTP Server Dienst konfigurieren

Zum konfigurieren des FTP Server Dienstes öffnest du die Config Datei /etc/vsftpd.conf mit einem beliebigen Text-Editor. Hier wird NANO dafür verwendet.

nano /etc/vsftpd.conf

Dabei ist zu beachten, dass ein Eintrag nicht doppelt vorkommen darf. Es muss geprüft werden, ob sie existieren bevor sie aus diesem Tutorial herauskopiert werden. Es ist zu erwarten, dass alle Optionen irgendwo in der Konfigurationsdatei bereits definiert sind.

Die Datei ist sehr detailliert kommentiert, so dass jede Einstellungsmöglichkeit erklärt wird. Hier werden die relevantesten zusammengefasst.

Das Zulassen von anonymen Benutzern für lesen, schreiben, löschen und herunterladen:

Achtung! Diese sollten nur in einem geschützten Netzwerk verwendet werden, da ansonsten die Gefahr besteht, dass der Server missbraucht werden könnte.

anon_upload_enable=YES		# Zeile 40
anon_other_write_enable=YES	# muss hinzugefügt werden
anon_mkdir_write_enable=YES	# Zeile 47
anon_world_readable_only=NO	# muss hinzugefügt werden

Der anonyme Login ist per default deaktiviert. In der Zeile anonymous_enable=NO wird er mit einem YES aktiviert.

anonymous_enable=YES		# Zeile 25

Um lokale Benutzer auf ihr Homeverzeichnis zu beschränken, muss zusätzlich die Zeile chroot_local_user= auf YES gesetzt werden:

chroot_local_user=YES		# Zeile 116

Globales Schreiben erlauben bzw verbieten:
In der Standardkonfiguration verbietet VSFTPD das Schreiben für alle User. Unabhängig von deren Berechtigungen. Um diese Sicherheitsmaßnahme zu deaktivieren, muss folgende Zeile auf YES geändert werden.

write_enable=YES			# Zeile 31

Das Schreiben in die systeminterne Prozessliste erzwingen:
Mit folgender Zeile wird das Schreiben in die interne Prozessliste erzwungen:

setproctitle_enable=YES		# muss hinzugefügt werden

Mit folgendem Befehl lässt sich diese dann aus der bash heraus auslesen:

watch ps -C vsftpd -o user,pid,stime,cmd

Ist die Konfiguration zufriedenstellend, kann der Dienst wieder gestartet werden.

service vsftpd start

Man benötigt außerdem einen Ordner, der mit den Rechten 777 angelegt wurde. Anonyme User werden über FTP den Ordner /srv/ftp erreichen. Um den Upload zu ermöglichen sollte ein Ordner mit dem Namen public im FTP Verzeichnis angelegt werden und die entsprechenden Rechte vergeben werden.

mkdir /srv/ftp/public
chmod 777 /srv/ftp/public

Anschließend kann über einen beliebigen FTP Client eine anonyme FTP Verbindung zum Server aufgebaut werden. Anonymous Benutzer haben dann volle Rechte auf das /srv/ftp/public Verzeichnis.

Logs auslesen

Sollte es zu Fehlermeldungen kommen ist es sinnvoll sich die Logs zum entsprechenden Tool anzusehen. Die Log Files für vsftpd liegen standardmäßig unter /var/log/vsftpd.log. Zum Auslesen dieser Files dient folgender Befehl:

less /var/log/vsftpd.log

Da diese Log Files schnell lang und unübersichtlich werden können gibt es noch einen anderen Befehl:

tail -f /var/log/vsftpd.log

tail schneidet die Datei am Ende ab und zeigt nur Zeilen, die ab dem Starten des Befehls dazugekommen sind. Um mit tail arbeiten zu können muss der Befehl also ausführt werden und anschließend der Fehler erneut herbeigeführt werden. tail zeigt dir dann die Zeilen an, die zu der letzten Aktion gehören. Um tail wieder zu beenden, drücke Strg +C.

Zusammenfassung

Sich durch die Konfiguration zu kämpfen kann am Anfang etwas mühselig sein. Doch wenn VSFTPD erstmal läuft, kann es auch mit dem Übertragen von Dateien losgehen. Eine Alternative zu FTP ist SCP. Dieses setzt auf das SSH Protokoll. Wie das im Einzelnen funktioniert, ist Inhalt des Artikels Via SCP Dateien sicher zwischen Linux und Windows übertragen.

Gridscale wünscht dir viel Spaß beim ausprobieren!

Mit Hilfe des File Transfer Protokolls (kurz FTP) ist es möglich, Dateien und Ordner auf einen Server zu übertragen. Da man über FTP keine Dateien oder andere Programme ausführen kann, galt es lange Zeit als sicher und wird auch heute noch von vielen Hosting Anbietern genutzt damit deren Kunden ihren Content auf einem einfachen Weg […]

Schade, dass dir der Artikel nicht gefallen hat.
Was sollten wir deiner Meinung nach besser machen?

Vielen Dank für dein Feedback!
Wir melden uns bei dir, sobald der Artikel zu deinem Wunschthema fertig ist.

Übrigens: kennst du schon unser Tutorial zum Thema S3 Fuse unter Ubuntu 16.04 LTS?

×

Entwickler?

Dann einfach hier für unsere Tutorial-Updates anmelden.
Keine Sorge: Wir spammen dich nicht zu