Deze instructies zijn specifiek bedoeld voor het installeren van vsftpd op CentOS/RHEL.
VSFtpD installeren
yum install vsftpd
Start de vsftpd-service en laat die bij het opstarten automatisch starten
systemctl start vsftpd
systemctl enable vsftpd
VSFtpD configureren
Bewerk het configuratiebestand:
vi /etc/vsftpd/vsftpd.conf
Pas de volgende directives aan:
#Disallow anonymous login
anonymous_enable=NO
#Allow local users to login
local_enable=YES
#Isolate users to their home folder. Local users will be denied access to any other part of the server
chroot_local_user=YES
Wil je uploaden via FTP uitschakelen en alleen downloaden toestaan:
write_enable=NO
De service herstarten en de status controleren
systemctl restart vsftpd
systemctl status vsftpd
Een ftp-gebruiker toevoegen
Standaard mag de rootgebruiker om veiligheidsredenen niet op de ftp-server inloggen. We maken dus een nieuwe gebruiker aan.
Gebruikers die niet via ftp mogen inloggen staan in dit bestand: /etc/vsftpd/ftpusers
adduser ftp_user
passwd ftp_user
De homedir van de ftp-gebruiker aanpassen
Je kunt de homedir van de ftp-gebruiker aanpassen, bijvoorbeeld naar de document-root van een website:
usermod -d /path/to/website/ ftp_user
Voeg de ftp-gebruiker bijvoorbeeld toe aan de Apache-groep om de benodigde rechten op de document-root van de website te krijgen.
usermod -a -G apache ftp_user
Controleer het groepslidmaatschap van de ftp-gebruiker
id ftp_user
Toegang
Zorg dat er firewalluitzonderingen zijn zodat ftp-toegang (poort 21) tot de server mogelijk is.
In het geval van IPtables:
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 20 -j ACCEPT
in het geval van FirewallD:
firewall-cmd –permanent –add-port=21/tcp
firewall-cmd –reload
Kan de gebruiker niet naar zijn homedir wisselen, pas dan de SELinux-configuratie aan:
setsebool -P ftp_home_dir on
Waarschuwing: FTP-verkeer is onveilig; het is niet versleuteld en alles gaat als platte tekst over de lijn (inclusief gebruikersnamen, wachtwoorden, commando’s en data). Overweeg je FTP-verbinding met SSL/TLS te beveiligen.