VsFTPd

Debian Swirl

http://www.black-board.net
Es ist nicht gestattet dieses Tutorial losgelöst von dem Namen BlackBoard und der URL zu verbreiten.


Das Tutorial befindet sich noch in der Entwicklung. Wenn du mitwirken möchtest, melde dich hier.
Dies ist ein Aufruf - wenn du Ahnung hast, mach mit!



1. Was ist VsFTPd?


VsFTPd ist eine Abkürzung und steht für Very Secure FTP-Daemon. Der Name unterstreicht das Anliegen der Entwickler, beim Design und Implementierung die Sicherheit zum obersten Prinzip zu erheben. Die recht einfache Konfiguration und Aufsetzen des Servers sowie Geschwindigkeit prädestinieren den Server für den Einsatz als FTP-Server in kleinen und mittleren Netzwerken.


Offizielle Webseite

2. Installation


Dank apt-get ist ein Installationsvorgang unter Debian wie immer ein Genuss. Wir installieren den VsFTPd mittels

# apt-get install vsftpd

Auf einem normal aufgesetzten Debian System sollten bereits alle Abhängigkeiten erfüllt sein. Falls nicht, werden sie automatisch gelöst.


3. Konfiguration


Kommen wir nun zu dem eigentlichen Hauptteil. Die allgemeine Konfiguration des
Daemons erfolgt in der Datei /etc/vsftpd.conf. Wie immer sind mit einem Doppel-Kreuz beginnende Zeilen Kommentare. Einträge besitzen stets die Form:

<Option>=<Wert>

Boolesche Optionen kennen den Status YES (aktiviert) oder NO (deaktiviert). Ist eine solche Option nicht explizit aufgeführt, gilt ihr voreingestellter Wert.

Ich habe hier bereits eine mögliche Konfiguration zusammengestellt. Der untere Abschnitt kann auch gleich anstelle der vsftpd.conf eingesetzt werden. Die Auswahl bietet einen bereits sinnvoll vorkonfigurierten FTP-Server ohne Anonymouslogin und mit FTP-Usern, die System-Benutzer sind.


vsftpd.conf

anonymous_enable=NO #Ob Anonymouslogin erlaubt werden soll
local_enable=YES #Ob Systemuser zugleich FTPUser sein sollen
write_enable=YES #Ob auf dem FTP hochgeladen werden darf
local_umask=022 #Die Rechtesetzung für eine hochgeladene Datei
dirmessage_enable=YES #Ob Dirmsg erlaubt werden soll
xferlog_enable=YES #Ob die Verbindungen geloggt werden sollen
connect_from_port_20=YES #Von welchem Port verbunden werden darf
xferlog_file=/var/log/vsftpd.log #Wo sich die Log befindet
xferlog_std_format=YES #Ob das Standardformat gewählt werden soll
idle_session_timeout=600 #Wie lange eine offene Laufzeitverbindung
#gestattet werden darf
#data_connection_timeout=500 #dito für eine offene Datenaustauschverbindung
ftpd_banner=Welcome to bla #Was beim einloggen als Bannernachricht
#erscheint
chroot_list_enable=YES #Dazu siehe Abschnitt "Benutzereinstellungen"
chroot_list_file=/etc/vsftp.cl #Von wo die Liste eingelesen werden soll
pam_service_name=vsftpd #Der PAM-Servicename
userlist_enable=YES #Liste mit Username aktivieren, die kein Recht
#auf FTP haben
listen=YES #Standalone-Server ja oder nein
tcp_wrappers=YES #Erklärt sich von selbst

4. Benutzereinstellungen


In der oberen Konfiguration sind FTP-Benutzer zugleich Systembenutzer, d.h. Benutzer, die in der /etc/passwd auftauchen. Ihr Homedirectory ist der Ort, in den sie nach einem FTP-Login gelangen. Um zu verhindern, dass sie ihr Parent Directory listen, habe ich "chroot_list_file=/etc/vsftpd.cl" definiert. In diese Datei kommen die Namen der FTP-Benutzer, die in ihrem Home Directory "gefangen" bleiben sollen.

Wir erstellen diese Datei nun und tragen die Benutzer ein. Nicht vergessen, die User mit einem Zeilenumbruch zu trennen.

# cat > /etc/vsftp.cl << "EOF"
> user1
> user2
> user3
> EOF


Nun setzen wir noch schnell einen Symlink von /etc/ftpusers zu /etc/vsftpd.ftpusers und sind mit diesem Abschnitt fertig.

# ln -s /etc/ftpusers /etc/vsftpd.ftpusers


5. Der Test


Jetzt können wir den VsFTPd restarten und einen Testlogin versuchen.

# /etc/init.d/vsftpd restart
# ftp localhost
Connected to localhost.
220 <Welcome Msg>.
Name (localhost:exs): exs
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.

Verfasser


Letzte Aktualisierung 19.06.2006 von LX