FTP-Server mit vsftpd einrichten
Geschrieben bei exs exs@exs.homelinux.org
Dieses Dokument steht unter der Creative Commonlizenz
Version 2.0
Dies ist eine Anleitung wie man den Vsftpd (Very secure FTP Daemon) zu einem FTP-Server mit
virtuellen Usern ohne Anonymous-Login konfiguriert.
Vsftpd beim Booten ausführen
Als erstes öffnen wir einen Terminal mit Rootrechten und sorgen dafür, dass der Vsftpd zukünftig
automatisch beim Systemboot ausgeführt wird. Dies geschiet mittels
system-config-services
Es öffnet sich ein Fenster. In der linken Spalte wählen wir Vsftpd und setzen ein Hacken davor.
Vsftpd konfigurieren
Wir editieren als Root die Datei /etc/vsftpd/vsftpd.conf und ersetzen den Inhalt durch folgenden
Abschnitt. Bitte beachtet dabei, dass einige Parameter angepasst werden müssen.
#anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Welcome to EXS' FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
#enable for standalone mode
listen=YES
tcp_wrappers=YES
Virtuelle User für FTP anlegen
Damit wir nicht die Übersicht verlieren, erstellen wir eine Benutzergruppe, in das später
alle unsere virtuellen User reinkommen.
groupadd ftpuser
Jetzt erstellen wir unseren ersten virtuellen User.
useradd -d /home/ftpuser1 -g ftpuser -s /sbin/nologin -p passwd ftpuser1
Das Kommentar -d bestimmt das zu erstellene Homeverzeichnis für unseren virtuellen User.
-g bestimmt die Benutzergruppe, in das unser virtueller User eingetragen wird. -s den Login-Shell.
Wir nehmen "/sbin/nologin", damit der erstellte User sich nicht direkt am System, sondern nur am
FTP anmelden kann. Anders wäre es kein virtueller User mehr. -p bestimmt das Passwort für den
virtuellen User. Dieses Passwort wird auch für den FTP-Login gelten. Der hintere String
"ftpuser1" steht für den Namen, den unser virtueller User tragen wird. Man kann natürlich statt
"ftpuser1" was anderes nehmen.
Usern "chrooten"
Es ist aus Sicherheitsgründen zu empfehlen, dass sich die am
FTP-Server eingeloggten virtuellen User nicht aus ihrem
Homeverzeichnis raus können. Sie werden sozusagen beim Login in ihr
Homedir "gechrootet" und da "eingesperrt", sodass sie nicht in das
Parentdir ihres Homeverzeichnisses und darüber hinaus können.
Um das zu erreichen haben wir in der Vsftpd.conf
"chroot_list_file=/etc/vsftpd.chroot_list"
eingetragen. Wir erstellen mit unserem Lieblingstexteditor
"/etc/vsftpd.chroot_list" und geben als Inhalt den Namen unseres mit
dem Kommando "useradd" erstellten Users ein. Falls ihr mehr als einen
virtuellen User erstellt habt, vergesst nicht die Benutzernamen in
der Datei jeweils mit einem Zeilenumbruch voneinander zu trennen.
Schluss
Damit der Vsftpd die Veränderungen wahrnimmt, starten wir ihn neu.
Dazu folgendes Kommando als Root ausführen
/etc/init.d/vsftpd reload
Nun dürfte es möglich sein, sich mit eurem erstelltem FTP-User auf
eurem FTP-Server einzuloggen.