vsFTP Server
Installation
yum install vsftpd
Es ist nicht möglich mehrere FTP-Server gleichzeitig über den gleichen Port zu betrieben. Daher ist es ratsam immer nur einen FTP Dienst zu installieren.
Konfigurieren
vim /etc/vsftpd/vsftpd.conf
Hier eine Beschreibung der wichtigsten Einstellungen.
xferlog_enable=YES # Logging ist aktiv xferlog_file=/var/log/vsftpd.log # Ort der Logdatei xferlog_std_format=YES # xfer-Log im Standartformat anonymous_enable=NO # kein Gastzugang anonymous anon_upload_enable=NO # Verbietet anonymus das Hochladen von Daten anon_mkdir_write_enable=NO # Verbietet anonymus der Erstellen von Ordnern 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 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 chroot_list_enable=YES # Liste mit priviligierten Benutzern chroot_list_file=/etc/vsftpd/chroot_list # Ort der Liste der priviligierten Benutzer 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
Berechtigungen
/etc/vsftpd/ftpusers # Wer hier steht darf sich NICHT anmelden /etc/vsftpd/user_list # Wer hier steht darf sich anmelden /etc/vsftpd/chroot_list # Priviligierten Benutzer dürfen in allen Verzeichnissen arbeiten
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 PasswortTipp: Legen sie den User ohne -p an und generieren das Passwort mit passwd
Zur Sicherheit die Berechtigungen aller Einträge im Homeverzeichnis kontrollieren:
chown -R user:gruppe /home/user
FTP 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
- User au sdem System löschen
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
Firewall konfigurieren
Neue Regel (Chain) eintragen und sichern
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT service iptables save
Jetzt die Datei iptables-config editieren:
vim /etc/sysconfig/iptables-config
und diesen Eintrag hinzu fügen
IPTABLES_MODULES="ip_conntrack_ftp"
Die Firewall neu starten
service iptables restart
vsFTP via Webmin konfigurieren
Hierfür muss das vsftp-Webminmodul nachinstaliert werden.
vsftpd.tar.gz