Tutorial > Installare e configurare un Server FTP con VSFTPD su Ubuntu 18.04

Installare e configurare un Server FTP con VSFTPD su Ubuntu 18.04

Pubblicato il: 08 marzo 2020

FTP Storage Ubuntu VSFTP

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.

Creazione cartelle e associazione utenti

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 permessi cartelle

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

Modifica impostazioni accesso FTP

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.

Modifica impostazioni accesso FTP

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

Lista utenti FTP

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.

Filezilla