1. Installieren mit apt-get install vsftpd
2. Konfigurieren der Datei /etc/vsftpd/vsftpd.conf
xferlog_enable=YES # Logging ist aktiv
xferlog_file=/var/log/vsftpd.log # Ort der Logdatei
anonymous_enable=NO # kein Gastzugang
local_enable=YES # nur lokal bekannte User
write_enable=YES # Berechtigung zum Schreiben
local_umask=007 # Umask für kokale User
dirmessage_enable=YES # Directory Messages
log_ftp_protocol=YES # Aktiviere FTP-Zugriffs-Log
vsftpd_log_file=/var/ftp/log/vsftpd.log # Ort des Logfiles
xferlog_enable=YES # Aktiviere xfer-Log
xferlog_std_format=YES # xfer-Log im Standartformat
xferlog_file=/var/ftp/log/xferlog.log # Ort des Logfiles
dual_log_enable=YES # Log Up- and Download
connect_from_port_20=YES # Verwendeter Port
listen_address=192.168.16.64 # Aktive NIC
nopriv_user=ftpsecure # Isolierter FTP User
chroot_local_user=YES # Dienst läuft im chroot-Modus
pam_service_name=vsftpd # Dienst -PAM- Name
userlist_deny=NO # Blackliste aktiv (Denylist)
userlist_enable=YES # Whiteliste aktiv (Acceptlist)
listen=YES # automatischer Demon Modus
listen_ipv6=NO # Kein IPv6
tcp_wrappers=YES # Für Stand Alone Mode
userlist_file=/etc/vsftpd.ftpusers # Ort der Whitelist
3. FTP-User anlegen
/usr/sbin/useradd -d <FTP-Verzeichnis> -g <FTP-Gruppe> -s /bin/sh -c <Bemerkung> -m -k /etc/skel/<User> -p <Passwort> -d Homeverzeichnis des Users (hier FTP-Freigabeverzeichnis) -g Gruppe des Users (hier FTP Sicherheitsgruppe) -c Bemerkung -m erstelle Homeverzeichnis, wenn nicht vorhanden -k verwendet angegebene Defaultumgebung -p verschlüsseltes Passwort ( \$1\$a2u5Z7iL\$hwyzcxDLluyx.HnZ6CE.11 = BAHAGEAI123 )
4. vsFTP Benutzerberechtigungen
vi /etc/vsftpd.ftpusers # Blackliste, hier User austragen vi /etc/vsftpd.user_list # Whiteliste, hier User eintragen
5. vsFTP User löschen
User aus /etc/vsftpd.ftpusers austragen # ab jetzt kann der User nicht mehr zugreifen User in /etc/vsftpd.user_list eintragen # Optional userdel -r Username # Alle FTP-Daten bleiben erhalten userdel -r Username # ACHTUNG Alle FTP-Daten werden gelöscht userdel -f Username # User wird auch gelöscht, wenn er momentan angemeldet ist