Server FTP su Ubuntu: come funziona la configurazione
Il protocollo FTP è una delle soluzioni più apprezzate per l’upload e il download dei file. In questa guida scoprirai come configurare il tuo server FTP su Ubuntu e a cosa dovresti assolutamente prestare attenzione.
Installazione di un server FTP su Ubuntu
Prima di poter cominciare con la configurazione del tuo server FTP, devi trovare il software adatto. I sistemi Ubuntu come Ubuntu 22.04 hanno già una propria soluzione a disposizione con vsftpd nel gestore di pacchetti, che devi solo installare. Per installare l’applicazione, è sufficiente aprire il terminale e dare il seguente comando:
sudo apt-get install vsftpd
bash
Vorresti salvare o trasferire i tuoi dati? Crea una base sicura per la trasmissione e noleggia il tuo server secure FTP su IONOS, con SSH, SSL/TLS e backup giornalieri.
Il giusto hardware per il tuo server FTP su Ubuntu
A seconda dello scenario applicativo, un server FTP su Ubuntu 22.04 presenta requisiti diversi. Per ottenere un collegamento ottimale a internet ti consigliamo in ogni caso l’hosting affidandoti a un provider professionale come IONOS. Con i server virtuali (VPS) e i server dedicati puoi scegliere fra due modelli di server per utilizzare un potente server FTP.
La panoramica seguente mostra tre possibili scenari per il tuo server FTP su Ubuntu e il pacchetto IONOS più adatto allo scopo.
Scenario server FTP su Ubuntu | Pacchetto IONOS adatto |
---|---|
Server FTP semplice; trasmissione dati sporadica | VPS Linux M |
Server FTP esteso nella propria azienda; trasmissione dati regolare | VPS Linux XL |
Server FTP pubblico; trasmissione dati continua | Server dedicato AR6-32 SSD |
- Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
- Storage SSD NVMe veloce
- Plesk Web Host Edition incluso
Tutorial del server FTP su Ubuntu: come configurare il servizio
Dopo il breve processo di installazione puoi chiudere di nuovo il terminale e cominciare con la configurazione del server FTP su Ubuntu. A tal fine, apri il file di configurazione vsftpd.conf
, che si trova per impostazione predefinita nella cartella etc
.

Per poter aprire e modificare il file di configurazione del server FTP su Ubuntu è necessario un semplice editor di testo. Per impostazione standard su Ubuntu trovi già installato il programma gedit (editor di GNOME).
Il contenuto testuale si può suddividere in due ambiti:
- Le righe che cominciano con il simbolo del cancelletto (
#
) sono trasformate in commenti e vengono perciò ignorate dal server vsftpd. Si tratta di righe con commenti riguardo alle diverse opzioni di impostazione o di funzioni disattivate. - Le righe che non cominciano con il simbolo del cancelletto comprendono invece quelle informazioni che vengono interpretate successivamente dal server.

Per l’ulteriore configurazione del server FTP su Ubuntu 22.04 non ci sono direttive generali; infatti, la configurazione varia a seconda di quali requisiti decidi di imporre al server FTP. Nei paragrafi seguenti di questa guida per il server FTP su Ubuntu trovi perciò informazioni sulle opzioni di impostazione più importanti e le loro funzioni.
Per salvare le modifiche al file vsftpd.conf hai bisogno dei permessi di root, altrimenti puoi solo leggere il file di configurazione.
Consentire l’accesso anonimo
Per impostazione standard vsftpd è configurato di modo che gli utenti si possano registrare sul server FTP solo con un account specifico. Il File Transfer Protocol consente però anche una procedura di login, in cui gli utenti possono registrarsi anonimamente senza dover fornire dati personali. Per attivare questo tipo di accesso, cerca la voce anonymous_enable=NO
e sostituisci il parametro NO
con YES
:
anonymous_enable=YES
txt
Ampliare i permessi degli utenti anonimi
I permessi sono per impostazione predefinita molto limitati se l’utente si registra anonimamente su un server FTP Ubuntu. Così è ad esempio possibile solo scaricare i file che sono leggibili per tutte le persone (anon_world_readable_only=YES
). Se neghi questa direttiva, sarà consentito anche il download degli altri file.
Se il server FTP è connesso a internet, ti sconsigliamo di ampliare i permessi per le sessioni anonime. In caso contrario corri il rischio che terzi prendano il controllo del tuo server.
Ulteriori opzioni disponibili per ampliare i permessi degli utenti anonimi sono le seguenti:
anon_mkdir_write_enable
: gli utenti anonimi possono creare nuove directory se inseriscono qui il valoreYES
ed eliminando il simbolo#
per i commenti. Come requisito è necessario che sia attivatowrite_enable
.anon_other_write_enable=YES
: se inserisci questa riga, puoi rinominare ed eliminare i file e le directory sul server FTP anche nel caso di un accesso non autorizzato.anon_upload_enable=YES
: con questa riga di testo viene attivato l’upload anonimo di file. A tal fine, i prerequisiti sono aver attivatowrite_enable
e creato una directory di upload separata, visto che gli utenti anonimi non possono scrivere direttamente nella cartella home.
Limitare l’accesso per gli utenti locali alla directory home
Se desideri garantire l’accesso alla directory home /home/username
solo agli utenti locali, puoi definire anche questa possibilità nel vsftpd.conf
. Il parametro di markup responsabile in questo caso è chroot_local_user
. In Ubuntu 22.04, questa riga è intesa come commento predefinito. Elimina il simbolo #
per vietare agli account locali l’accesso a tutte le altre directory:
chroot_local_user=YES
txtAttivare e disattivare il login degli utenti locali
Per garantire agli utenti locali l’accesso al server FTP, la voce local-enable=YES
deve essere impostata (in genere è così per impostazione standard). Se desideri negare agli utenti locali l’accesso al tuo server FTP su Ubuntu, devi trasformare in commento solo la riga relativa, anteponendo il simbolo del cancelletto:
#local_enable=YES
txt
Attivare l’accesso globale in scrittura
La configurazione standard di Ubuntu 22.04 definisce che possono utilizzare i comandi FTP sia gli account locali che quelli anonimi. La riga corrispondente per la scrittura globale write_enable=YES
viene trasformata in commento. Se deve essere data la possibilità alle persone che hanno effettuato il login di modificare il file system del server vsftpd, occorre di conseguenza rimuovere il simbolo del cancelletto:
write_enable=YES
txtLimitare l’accesso FTP a determinati utenti
In particolari situazioni può essere utile vietare a determinati utenti l’accesso al server FTP su Ubuntu o definire chiaramente quali utenti possono effettuare il login.
Per vietare l’accesso a determinati utenti aggiungi le seguenti righe alla fine del file di configurazione:
userlist_deny=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
txtIn questo modo si vieta l’accesso agli utenti che sono inseriti nel file esterno vsftpd.user_list
. Tutti gli altri utenti possono in questo caso registrarsi come di consueto.
Se desideri concedere l’accesso solo a determinate persone, è necessario negare il parametro userlist_deny
. Il risultato è che soltanto gli account utente che hai inserito nel file vsftpd.user_list
possono effettuare il login:
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
txtIn entrambi i casi è necessario creare manualmente il file di testo esterno vsftpd.user_list
nella directory /etc/
. Per ogni voce di account utente devi utilizzare una riga separata.
Server FTP su Ubuntu: altre opzioni in una tabella di riepilogo
Opzione | Valore standard | Descrizione |
---|---|---|
download_enable
|
- | Attiva (YES ) o disattiva i download (NO )
|
ssl_enable
|
NO
|
Abilita la crittografia SSL per l’accesso FTP |
force_anon_logins_ssl
|
NO
|
Rende obbligatoria la connessione SSL per gli utenti anonimi (YES )
|
force_local_logins_ssl
|
NO
|
Rende obbligatoria la connessione SSL per gli utenti locali (YES )
|
anon_max_rate
|
0
|
Velocità di trasmissione massima (in byte/secondo) per gli utenti anonimi; 0 indica una velocità illimitata
|
local_max_rate
|
0
|
Velocità di trasmissione massima (in byte/secondo) per gli utenti locali; 0 indica una velocità illimitata
|
max_clients
|
0
|
Valore massimo di client che possono effettuare l’accesso contemporaneamente; 0 significa che non ci sono limitazioni
|
max_per_ip
|
0
|
Numero massimo di connessioni che sono possibili da un singolo indirizzo IP; 0 significa che non ci sono limitazioni
|
anon_root
|
/home/ftp
|
Directory standard per gli utenti anonimi |
Una lista completa di tutte le opzioni è consultabile dando il seguente comando sul terminale:
man vsftpd.conf
bash
- Hardware dedicato al 100%
- Fatturazione al minuto
- Potenziato dai processori Intel® Xeon® e AMD
Come utilizzare il server FTP su Ubuntu 22.04
Dopo aver configurato il file di configurazione secondo le tue preferenze, ricordati di salvarlo. Per fare in modo che l’applicazione server apporti tutte le modifiche, è necessario un riavvio, eseguibile con il seguente comando:
sudo systemctl restart vsftpd
bashSe non hai ancora riavviato il server FTP, puoi farlo con questo comando dal terminale:
sudo systemctl start vsftpd
bashSe vuoi chiudere nuovamente il server FTP su Ubuntu, ti basta sostituire il parametro start
con stop
nel comando precedente.
Creare un account utente FTP
Dopo aver impostato e avviato il tuo server FTP su Ubuntu, hai bisogno di un account utente per poter effettuare il login. Ad esempi, a questo punto creiamo l’utente con il nome “ftpuser” e la password “test123”.
sudo useradd -m user -s/usr/sbin/nologin
sudo passwd user
bashSuccessivamente, consenti l’accesso alla shell NoLogin inserendo alla fine del file /etc/shells
la riga seguente:
/usr/sbin/nologin
txtStabilire la connessione al server FTP
Ora è possibile utilizzare l’account utente creato per instaurare la connessione al server vsftpd con il client FTP di tua scelta. Una famosa soluzione già presente su Ubuntu è l’applicazione open source multipiattaforma FileZilla. L’installazione avviene quindi come di consueto dal terminale:
sudo apt-get install filezilla
bashApri FileZilla e aggiungi una nuova connessione con i dati richiesti: alla voce host inserisci l’indirizzo IP del tuo server FTP su Ubuntu, che ascolta le richieste sulla porta 21 (se non hai modificato le impostazioni standard). Scegli il File Transfer Protocol e se possibile SFTP (Secure FTP) o FTP over TLS, visto che una semplice connessione FTP tramite la porta 21 rappresenta davvero un elevato rischio per la sicurezza. Nel campo “Logon Type” scegli la voce “Normal”. Per ”User” e “Password” hai bisogno dei dati di login generati prima. Fai clic su ”Connect“ per collegarti al server.

500 OOPS: una funzione di sicurezza che causa problemi
Se hai configurato un server FTP su Ubuntu e delle determinate impostazioni non funzionano, ciò può dipendere da diversi motivi: quindi è pensabile che tu abbia dimenticato di riavviare il server FTP o di proteggere il file di configurazione. Altrettanto velocemente si intrufolano degli errori di sintassi nel file vsftpd.conf, quando ad esempio viene inserito uno spazio al posto sbagliato. Un messaggio di errore frequente che ha tutta un’altra causa è il seguente:
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
In questo messaggio che può verificarsi durante il tentativo di connessione non si tratta però di un messaggio di errore in senso stretto, ma di una funzione di sicurezza. Alla base vi è una possibile vulnerabilità della libreria glibc (la libreria standard di Ubuntu del linguaggio di programmazione C), che gli utenti potrebbero sfruttare con i permessi di scrittura per la loro directory root. Per aggirare questo blocco di sicurezza, esistono due soluzioni:
- Rimuovere i permessi di scrittura nella root dell’utente: revoca agli utenti locali i permessi di scrittura per la propria directory root, di modo che possano ancora scrivere nelle sottocartelle. Questa limitazione risolve il problema “500 OOPS”, si dimostra però poco vantaggiosa se i file devono essere scritti forzatamente nella root. Il comando dal terminale per questa soluzione si presenta così:
chmod a-w */home/user*
bash- Consentire i permessi di scrittura per la root nel file vsftpd.conf: se non temi alcuna violazione dei permessi di scrittura, puoi anche comunicare al server FTP su Ubuntu che la funzione è richiesta esplicitamente. A questo scopo è necessaria solamente un’altra voce nel file di configurazione:
allow_writeable_chroot=YES
txtProva il nostro VPS. I primi 30 giorni sono in omaggio e se allo scadere del periodo di prova non sarai convinto, ti rimborseremo tutte le spese sostenute.