VSFTPD è l'acronimo di "Very Secure File Transfer Protocol Daemon": si tratta di un software che permette di trasferire file tra client e server attraverso il protocollo di rete FTP.
In questo tutorial imparerai a installare, configurare e utilizzare VSFTPD su un server Ubuntu 18.04 per poter trasferire file tra client e server in maniera rapida e sicura tramite il protocollo FTP.
Per iniziare dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.
Installazione di VSFTPD
Per prima cosa devi aggiornare i repository e installare il tool. Puoi effettuare le due operazioni con il seguente comando:
sudo apt-get update -y && sudo apt-get install vsftpd -y
Terminata l’installazione di VSFTPD dovrai modificare alcuni parametri del file di configurazione, ma per sicurezza ti conviene effettuare una copia di backup della configurazione originale da poter ripristinare in caso di necessità. Per farlo digita:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig-y
A questo punto sei pronto per creare le cartelle da condividere con i diversi utenti ed assegnare a ciascuna di queste il rispettivo proprietario.
Crea le cartelle root per ciascun utente digitando:
sudo mkdir path/folder
Crea quindi un utente che possa accedere a questa cartella con il comando:
sudo adduser --home=path/folder test_user
N.B. Sostituisci ‘test_user’ con il nome utente con il quale intend effettuare il login e ‘path/folder’ con il percorso della cartella creata in precedenza.
Arrivato a questo punto puoi creare delle sottocartelle dove salvare i file. Ricordati di garantire i giusti permessi alle cartelle. Ripeti questa operazione per ciascuna cartella assegnata a un utente.
sudo mkdir path/folder/subfolder
sudo chmod 777 path/folder/subfolder
N.B. Sostituisci ‘path/folder’ con il percorso e la cartella creata in precedenza e ‘subfolder’ con il nome della cartella accessibile al solo utente.
A questo punto devi impostare il proprietario e devi rimuovere il permesso di scrittura con i seguenti comandi:
sudo chown nobody:nogroup path/folder
sudo chmod a-w path/folder
Configurazione di VSFTPD
Apri il file di configurazione di VSFTPD con il seguente comando:
sudo nano /etc/vsftpd.conf
Per permettere agli utenti di caricare file nelle proprie cartelle, decommenta la riga write_enable=YES eliminando il simbolo #.
Per permettere agli utenti FTP di accedere alla cartella a loro assegnata devi decommentare anche le righe contenenti chroot_local_user=YES e chroot_list_enable=NO.
Rimuovi il simbolo # anche davanti alle righe chroot_list_file=/etc/vsftpd.chroot_list per fornire il percorso per gli utenti. Terminate di apportare queste modifiche salva ed esci (CTRL+X - Y - Invio).
Come ultimo passaggio, aggiungi gli utenti a VSFTPD. Per farlo modifica il file vsftpd.userlist:
sudo nano /etc/vsftpd.userlist
N.B. Se hai creato più utenti come in questa guida, aggiungi i nomi di ciascun utente su linee diverse. Inserisci inoltre il seguente comando alla fine del file:
allow_writeable_chroot=YES
Salva ed esci (CTRL+X - Y - Invio).
Riavvia a questo punto il servizio per rendere effettive le modifiche:
sudo systemctl restart vsftpd
Mediante un client FTP come Filezilla potrai a questo punto accedere al tuo Server FTP con i diversi account creati e iniziare a trasferire file.