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.