FTP Server aufsetzen (vsftpd)
Ein FTP Server gehört zur Standardeinrichtung eines Servers. Diesen einzurichten ist relativ leicht und es gibt viele Seiten mit Beschreibungen. Auch gibt es viele verschiedene FTP Server zur Auswahl:
In diesem Tutorial stelle ich den Very Secure FTP Server vor. Ich benutze ihn gerne, da er klein, einfach zu konfigurieren und sicher ist.
Vor der Installation
Für die Konfiguration benötigt man Benutzer im System. Bei einem Webserver arbeitet der Admin normalerweise nur mit dem Root-Account. Man sollte diesem allerdings nicht den Zugriff auf den Webserver per FTP gestatten. Daher sollte man Benutzer einrichten die weniger Rechte im System haben.
Für jeden Benutzer, der FTP Zugriff haben soll, kann folgender Befehl benutzt werden
adduser ftpbenutzerDanach wird ein Password für den Benutzer verlangt, eine Wiederholung und danach weitere Daten, die aber getrost leer gelassen werden können (einfach Enter drücken).
Falls z.B. mehrere Domains auf dem Server gehostet werden und für jede Domain ein FTP Zugriff erstellt werden soll, sollte man das Benutzer-Verzeichnis für diese ändern.
Dazu muss die Datei
/etc/passwdbearbeitet werden. Der Eintrag für einen Benutzer sieht z.B. wie folgt aus
ftpbenutzer:x:1001:1001:,,,:/home/ftpbenutzer:/bin/bashDas Verzeichnis /home/ftpbenutzer sollte dann so geändert werden dass hier das Grundverzeichnis der Domain steht (z.B. /var/www/vhosts/domain.com)
ftpbenutzer:x:1001:1001:,,,:/var/www/vhosts/domain.com:/bin/bash
Installation
Unter Ubuntu erfolgt die Installation wie bei allen anderen Programmen auch mit apt-get.
sudo apt-get install vsftpd (Falls man als root arbeitet kann das sudo weggelassen werden)Damit ist die Installation auch schon abgeschlossen.
Konfiguration
Man muss zur Konfiguration nur eine Datei bearbeiten
/etc/vsftpd.confund auch nur wenigen Zeilen bearbeiten.
Um Anonyme Zugriffe per FTP zu verbieten und den Zugriff für lokale Benutzer zu erlauben müssen nur folgende Zeilen geändert werden. Bei einigen ist der Wert schon korrekt gesetzt, aber das “#” Zeichen vor der Zeile muss entfernt werden um diese zu aktivieren.
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YESAußerdem sorgt die Einstellung chroot_local_user dafür, dass die FTP Benutzer als Root-Verzeichnis nicht das des Servers (/) angezeigt bekommen, sondern ihr eigenes (z.B. /var/www/vhosts/domain.com). Diese Einstellung halte ich vor allem aus Komfort, aber auch aus Sicherheitsgründen für sinnvoll.
Um den FTP Server so zu konfigurieren, dass nicht alle Systembenutzer (ein Blick in die Datei /etc/passwd zeigt wie viele das sind) Zugriff haben, sondern nur diejenigen, die wir möchten kommen noch folgende Einstellungen hinzu. Diese müssen selbst ans Ende der Datei /etc/vsftpd.conf geschrieben werden.
userlist_enable=YES
userlist_deny=NODamit wird erreicht, dass nur Benutzer, die in der Datei /etc/vsftpd.user_list aufgelistet sind FTP Zugriff erhalten.
Also:
/etc/vsftpd.user_list anlegen und in jede Zeile einen Benutzernamen schreiben, der FTP Zugriff erhalten soll.Zum Beispiel:
ftpbenutzer1
ftpbenutzer2
ftpbenutzer3
Jetzt noch einen Neustart des vsftpd veranlassen
/etc/init.d/vsftpd restart und die Einstellungen sind übernommen.

fotos.