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).

Potrebbero interessarti anche...