Very Secure FTP Daemon
Installation
Das Programm ist als
vsftpd
in community
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Optional kann der Daemon über xinetd gestartet werden.
# pacman -S xinetd
Konfiguration
Mit xinetd
Um vsftpd mit xinetd zu betreiben muss die Datei /etc/xinetd.d/vsftpd mit folgendem Inhalt erstellt werden.
service ftp { socket_type = stream wait = no user = root server = /usr/sbin/vsftpd log_on_success += HOST DURATION log_on_failure += HOST disable = no }
Um xinetd automatisch zu starten, muss xinetd in /etc/rc.conf eingefügt werden:
DAEMONS=(... xinetd ...)
/etc/vsftpd.conf ist gut kommentiert. Hier ein Beispiel wie die Konfiguration aussehen könnte:
anonymous_enable=NO # kein Anmelden als anonymous erlauben local_enable=YES # Anmelden mit lokalen Benutzer-Konten write_enable=YES # Schreibrechte für die Benutzer (Vorsicht bei anonymous_enable=YES!!!)
Falls Fehler wie
500 OOPS: cap_set_proc
auftreten, muss das Modul capability geladen werden bzw. in /etc/rc.confeingefügt werden.
MODULES=(... capability ...)
Beim nächsten Systemstart wird vsftpd gestartet oder ohne Neustart:
# /etc/rc.d/xinetd (re)start
Stand-Alone (ohne xinetd)
/etc/vsftpd.conf ist gut kommentiert. Hier ein Beispiel wie die Konfiguration aussehen könnte:
listen=YES # vsftpd als Stand-Alone-Server verwenden anonymous_enable=NO # kein Anmelden als anonymous erlauben local_enable=YES # Anmelden mit lokalen Benutzer-Konten write_enable=YES # Schreibrechte für die Benutzer (Vorsicht bei anonymous_enable=YES!!!)
Wichtig ist hier das listen=YES gesetzt ist.
vsftpd kann jetzt gestartet werden.
# vsftpd
Virtuelle User
Virtuelle User haben keinen realen Login und können nur auf Daten im FTP-Ordner zugreifen. Um virtuelle User anzulegen muss zuerst eine Datei (z.B. login.txt) mit Benutzernamen und Passwörtern erstellt werden.
user1 password1 user2 password2
Danach muss aus dieser Datei eine eine Datenbank erzeugt und die Berechtigungen eingeschränkt werden.
# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db # chmod 600 /etc/vsftpd_login.db
Damit PAM (Pluggable Authentication Modules) die vsftpd_login.db verwendet, muss die Datei /etc/pam.d/ftp erstellt werden:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login crypt=hash account required /lib/security/pam_userdb.so db=/etc/vsftpd_login crypt=hash
Nun muss noch der Benutzer virtual erstellt werden. In diesem Beispiel mit dem Home-Verzeichnis /srv/ftp.
useradd -d /srv/ftp virtual chown virtual:virtual /srv/ftp
Danach noch die Datei /etc/vsftpd.conf anpassen.
anonymous_enable=NO local_enable=YES chroot_local_user=YES guest_enable=YES guest_username=virtual virtual_use_local_privs=YES
Nach einem Neustart des Daemons kann man sich nun mit den neuen Benutzernamen anmelden.
Siehe auch
Dieser Artikel (oder Teile davon) steht unter GNU FDL (GNU Freie Dokumentationslizenz) und ist eine Übersetzung aus dem ArchLinux.org Wiki. Am Original-Artikel kann jeder Korrekturen und Ergänzungen vornehmen. Im ArchLinux.org Wiki ist eine Liste der Autoren verfügbar. |