Installazione di un server FTP ( VSFTPD ) su CentOS 7
In questo tutorial andremo ad installare il servizio di FTP server su CentOS 7.
Partiamo da una macchina Linux CentOS 7 preinstallata (consultare questo articolo per l’installazione), ed aggiorniamo la macchina
yum update
yum upgrade
installiamo il servizio VSFTPD (Very Secure FTP Deamon)
yum install vsftpd
facciamo partire al boot automaticamente il servizio e avviamolo
systemctl start vsftpd
systemctl enable vsftpd
rendiamo sicuro il server installando il firewall
yum install firewalld
systemctl start firewalld
systemctl enable firewalld
a questo punto apriamo la porta standard 21
firewall-cmd --zone=public --permanent --add-port=21/tcp
success
firewall-cmd --zone=public --permanent --add-service=ftp
success
firewall-cmd --reload
success
configuriamo il servizio vsftpd, facciamo una copia del file di configurazione
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.ORIG
yum install vim
vim /etc/vsftpd/vsftpd.conf
impostiamo i seguenti paramentri, disabilitiamo il login da utenti anonimi
anonymous_enable=NO
listen=YES
#listen_ipv6=YES
il resto dei parametri inseriti di default possono essere lasciati inalterati.
Abilitiamo gli utenti che possono accedere al server FTP, creando una lista:
vim /etc/vsftpd.userlist
ed aggiungiamo al vsftpd.conf i seguenti paramentri (ATTENZIONE CONTROLLARE TUTTI GLI SPAZI, AD ESEMPIO DOPO userlist_deny=NO NON CI DEVE ESSERE NESSUNO SPAZIO)
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
l’ultima direttiva indica che solo gli utenti elencati nel file potranno accedere all’ftp.
Adesso aggiungiamo la chroot jail ( prigione), dove gli utenti atterreranno quando hanno effettuato il login, è una prigione, perchè l’utente non potrà andare oltre quella cartella, aggiungiamo due paramentri alla configurazione vsftpd.conf
chroot_local_user=YES
allow_writeable_chroot=YES
l’ultima direttiva permette all’utente che passa il login di avere i diritti di scrittura.
L’ installazione del server FTP è finita, incominciamo a fare test, per semplicità disabilitiamo il selinux
vim /etc/selinux/config
modifichiamo con SELINUX=permissive, senza riavviare
setenforce 0
aggiungiamo un utente
useradd -m -s /bin/bash test
passwd test
ed aggiungiamo l’utente test alla lista
vim /etc/vsftpd.userlist
cat /etc/vsftpd.userlist
test
adesso installiamo il comando ftp
yum install ftp
ftp localhost
Trying ::1…
ftp: connect to address ::1Connessione rifiutata
Trying 127.0.0.1…
Connected to localhost (127.0.0.1).
220 (vsFTPd 3.0.2)
Name (localhost:root): test
331 Please specify the password.
Password: inserire la password
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.
è possibile anche utilizzare da Windows il client Filezilla per effettuare i test (rimarremo sempre nella cartella home dell’utente).