Configurazione del server FTP su Ubuntu: Guida pratica per la condivisione di file (Edizione USA)

目次

1. Introduzione

L’installazione di un server FTP su Ubuntu è un approccio altamente pratico per sviluppatori e amministratori che devono inviare e ricevere file in modo efficiente. Soprattutto quando si mira a creare un server domestico o un semplice ambiente di condivisione file interno, FTP (File Transfer Protocol) si distingue come un’opzione semplice e facile da implementare.

Cos’è un server FTP?

Un server FTP è un software server dedicato progettato per trasmettere e ricevere file su internet o una rete locale. Gli utenti possono connettersi al server utilizzando software client FTP per caricare e scaricare file.

Mentre alternative sicure come SFTP e SCP hanno guadagnato popolarità in alcune aree, FTP rimane una scelta preferita per molte applicazioni grazie alla sua semplicità e natura leggera. Continua a essere un protocollo altamente pratico, specialmente per l’uso in reti limitate o per compiti di base.

Il ruolo di un server FTP in Ubuntu

Ubuntu è una distribuzione Linux favorita da molti utenti ed è ampiamente utilizzata per scopi server. Costruendo un server FTP in un ambiente Ubuntu, la condivisione file tra più dispositivi e utenti diventa facile.

È particolarmente efficace in casi come:

  • Trasferimento file a server web
  • Integrazione con dispositivi IoT come Raspberry Pi
  • Condivisione di documenti interni

Quindi, la combinazione di Ubuntu e un server FTP consente una gestione file flessibile ed efficiente.

Scopo e pubblico target di questo articolo

Questo articolo spiegherà come impostare un server FTP su Ubuntu, fornendo istruzioni passo-passo facili da capire per principianti. È specificamente rivolto a lettori che:

  • Sono familiari con le operazioni base di Ubuntu ma sono nuovi all’FTP.
  • Vogliono costruire un server FTP per uso locale o aziendale semplice.
  • Vogliono anche sapere su considerazioni importanti come la sicurezza e i nomi file giapponesi corrotti.

Seguendo i passaggi introdotti qui in ordine, sarete in grado di costruire un ambiente server FTP sicuro e pratico. Nella prossima sezione, inizieremo spiegando come installare “vsftpd”, un server FTP particolarmente popolare.

2. Installazione di vsftpd

Quando si costruisce un server FTP su Ubuntu, il software più comunemente usato è vsftpd (Very Secure FTP Daemon). Come suggerisce il nome, è un server FTP con una filosofia di design “molto sicuro”. È leggero e stabile, rendendolo ampiamente adottato in ambienti aziendali e educativi.

Questa sezione spiega i passaggi per installare vsftpd su Ubuntu e come impostare l’avvio del servizio e l’avvio automatico.

Installazione di vsftpd

Prima, usa il sistema di gestione pacchetti di Ubuntu (APT) per installare vsftpd. Esegui i seguenti passaggi in ordine:

sudo apt update
sudo apt install vsftpd
  • sudo apt update : Aggiorna le informazioni dei pacchetti all’ultima versione.
  • sudo apt install vsftpd : Installa il pacchetto vsftpd.

Una volta completata l’installazione, vsftpd si avvierà automaticamente.

Controllo dello stato del servizio

Per verificare che vsftpd sia stato installato correttamente e stia funzionando, usa il seguente comando:

sudo systemctl status vsftpd

Se questo comando visualizza “active (running)”, il server FTP sta operando normalmente.

Controllo e abilitazione dell’avvio automatico

vsftpd è solitamente configurato per l’avvio automatico immediatamente dopo l’installazione, ma è una buona idea controllarlo due volte.

sudo systemctl enable vsftpd

Eseguendo questo comando, si assicura che vsftpd si avvierà automaticamente ai successivi riavvii del sistema.

Non dimenticare di configurare il firewall (UFW)

Se hai UFW (Uncomplicated Firewall) abilitato sul tuo sistema Ubuntu, devi aprire le porte FTP.

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

Questo permette l’accesso esterno alle porte FTP standard: porta 20 (dati) e porta 21 (comando).

Dopo l’impostazione, ricarica UFW per applicare le modifiche.

sudo ufw reload

3. Configurazione di base

Una volta installato vsftpd, il passo successivo è personalizzare il comportamento del server FTP in base alle tue esigenze modificando il file di configurazione. Sebbene il file di configurazione di vsftpd consenta un controllo molto dettagliato, presenta molte restrizioni nel suo stato iniziale, quindi è necessario abilitare esplicitamente le funzionalità necessarie.

Questa sezione spiega gli elementi di configurazione base tipici.

Posizione del File di Configurazione

Il file di configurazione principale per vsftpd si trova in:

/etc/vsftpd.conf

Per apportare modifiche alla configurazione, modifica il file come segue:

sudo nano /etc/vsftpd.conf

Dopo aver apportato le modifiche, è necessario riavviare il servizio vsftpd.

sudo systemctl restart vsftpd

Consentire l’Accesso in Scrittura (per Upload, ecc.)

Nella configurazione predefinita di vsftpd, gli upload di file e le modifiche al server FTP non sono consentiti. Per consentire l’accesso in scrittura, abilita la seguente riga:

write_enable=YES

Questa impostazione consente agli utenti di caricare, eliminare e modificare file all’interno delle loro directory home.

Consentire i Login degli Utenti Locali

Per consentire il login FTP utilizzando gli account utente di Ubuntu, è richiesta l’impostazione seguente:

local_enable=YES

Con questa impostazione, gli utenti locali (utenti di sistema) registrati in /etc/passwd potranno accedere via FTP.

Abilitare il Recupero dell’Elenco delle Directory

Se il client FTP non riesce a recuperare un elenco di file e directory, verifica le seguenti impostazioni:

listen=YES
listen_ipv6=NO

Soprattutto in ambienti in cui IPv6 è disabilitato, avere listen_ipv6=YES può causare problemi di connessione.

Impostare un Banner di Login (Opzionale)

È possibile impostare anche un messaggio (banner) che viene visualizzato al momento della connessione al server FTP.

ftpd_banner=Welcome to your custom Ubuntu FTP server!

Questo può essere utile in contesti aziendali per trasmettere informazioni di contatto o avvisi importanti agli utenti.

Consentire il Trasferimento in Modalità ASCII (Se Necessario)

Se è necessario trasferire correttamente file di testo specifici (ad esempio, script contenenti interruzioni di riga di Windows), configura quanto segue:

ascii_upload_enable=YES
ascii_download_enable=YES

Di solito, il trasferimento binario è sufficiente, ma considera di abilitare questa opzione in base al tuo ambiente.

Quindi, la configurazione base di vsftpd è caratterizzata dalla specifica esplicita di “cosa è consentito”. Dopo aver modificato il file di configurazione, assicurati di riavviare il servizio vsftpd per applicare le modifiche.

La sezione successiva approfondirà impostazioni di sicurezza più avanzate. Le misure di sicurezza sono indispensabili, specialmente quando si opera un server FTP su una rete pubblica.

4. Migliorare la Sicurezza

Sebbene FTP sia un protocollo comodo, la sua caratteristica di trasmettere dati senza crittografia solleva preoccupazioni di sicurezza. Soprattutto quando si opera su internet, sono essenziali impostazioni di sicurezza robuste.

Questa sezione introduce misure di sicurezza tipiche che possono essere implementate con vsftpd.

Limitare l’Ambito di Accesso degli Utenti con chroot

Consentire agli utenti FTP di accedere a directory diverse dalla propria è altamente rischioso. Pertanto, è cruciale configurare chroot, che confina ciascun utente nella sua directory home.

Abilita le seguenti due impostazioni:

chroot_local_user=YES
allow_writeable_chroot=YES
  • chroot_local_user=YES impedisce agli utenti locali di navigare al di sopra della loro directory home.
  • allow_writeable_chroot=YES è un’impostazione per rilassare le restrizioni di sicurezza di vsftpd ed è necessaria quando la directory home ha permessi di scrittura.

* Senza questa, incontrerai l’errore “500 OOPS: vsftpd: refusing to run with writable root inside chroot”.

Limitare gli Utenti Accessibili

Consentire a tutti gli utenti locali di accedere a FTP può portare a perdite di informazioni impreviste. Pertanto, controlla gli utenti accessibili a FTP utilizzando un approccio di whitelist.

Prima, aggiungi le seguenti impostazioni a vsftpd.conf:

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

Successivamente, elenca gli utenti che desideri consentire per il login, uno per riga, nel file /etc/vsftpd.userlist.

sudo nano /etc/vsftpd.userlist

(Esempio)

ftpuser1
ftpuser2

Con questa configurazione, solo gli utenti elencati esplicitamente potranno accedere.

Implementazione della Comunicazione Cifrata con FTPS (SSL/TLS)

L’FTP standard trasmette i dati in testo semplice, ponendo un rischio di intercettazione di ID, password e dati. Per evitare questo, utilizzare FTPS (FTP su SSL/TLS) per cifrare la comunicazione.

Prima, creare un certificato SSL (o utilizzare uno esistente).

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Successivamente, aggiungere le seguenti impostazioni a vsftpd.conf:

ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Ora, è possibile connettersi utilizzando “FTPS (SSL Esplicito)” sul lato client FTP.

Disabilitazione di Funzionalità Non Necessarie

Per migliorare la sicurezza, è anche importante disabilitare attivamente le funzionalità non utilizzate.

Esempio:

anonymous_enable=NO

Questo disabilita gli accessi utente anonimi (è disabilitato per impostazione predefinita, ma impostarlo esplicitamente fornisce sicurezza extra).

Con queste impostazioni, il server FTP vsftpd su Ubuntu avrà misure di sicurezza di base in atto.
Soprattutto quando utilizzato su internet, l’implementazione di FTPS è essenziale.

Il prossimo capitolo spiegherà in dettaglio come gestire i nomi di file giapponesi corrotti. Questo è un punto spesso trascurato nell’operazione FTP ma cruciale per prevenire problemi.

5. Gestione dei Nomi di File Giapponesi

Quando si inviano e ricevono file utilizzando FTP, potresti incontrare il problema dei nomi di file giapponesi che diventano corrotti. Questo è particolarmente comune quando si scambiano file tra Windows e Ubuntu via FTP, dove le discrepanze di codifica possono portare a “???” o stringhe incomprensibili.

Questa sezione introduce misure per prevenire i nomi di file giapponesi corrotti in vsftpd.

Cause Principali dei Caratteri Corrotti

I nomi di file giapponesi corrotti si verificano principalmente a causa dei seguenti tre fattori:

  1. L’impostazione locale di Ubuntu non è UTF-8.
  2. L’impostazione di codifica del client FTP è errata.
  3. vsftpd non opera con supporto UTF-8.

È importante controllare e regolare questi in ordine.

Controllo e Impostazione del Locale di Ubuntu

Prima, conferma che la codifica dei caratteri sul lato Ubuntu sia UTF-8. Visualizza il locale corrente utilizzando il seguente comando:

locale

Output di esempio:

LANG=ja_JP.UTF-8

Se LANG o LC_ALL non è impostato su UTF-8, cambialo e riconfiguralo come segue:

sudo update-locale LANG=ja_JP.UTF-8
source /etc/default/locale

Inoltre, genera il locale se necessario:

sudo locale-gen ja_JP.UTF-8

Questo unificherà l’elaborazione dei nomi di file all’interno del server a UTF-8.

Controllo dell’Impostazione UTF-8 di vsftpd

vsftpd supporta UTF-8 per impostazione predefinita, ma è bene confermare la seguente impostazione per sicurezza:

utf8_filesystem=YES

Anche se questo elemento di impostazione non esiste, non dovrebbe esserci un problema particolare se il sistema opera in UTF-8. Tuttavia, questo elemento potrebbe non essere supportato in alcune versioni di vsftpd.

Impostazioni Client FTP (Esempio FileZilla)

Le impostazioni del client FTP sono anche estremamente importanti. Ad esempio, quando ci si connette utilizzando FileZilla, configuralo come segue:

  1. Apri il Gestore Siti.
  2. Apri le impostazioni per la tua connessione.
  3. Seleziona la scheda “Charset”.
  4. Seleziona “Usa charset personalizzato” e inserisci UTF-8 .

Questa impostazione permette al client di interpretare correttamente i nomi di file del server come UTF-8, prevenendo i caratteri corrotti.

Nota sull’Upload da Altri OS

Quando si caricano file creati su Windows, ecc., se il sistema utilizza una codifica di caratteri diversa come Shift_JIS, il nome del file potrebbe essere corrotto al momento dell’upload.

In tali casi, è più sicuro convertire il nome del file in UTF-8 prima dell’upload. È possibile utilizzare strumenti come convmv dalla riga di comando.

Riepilogo

Quando si gestiscono nomi di file giapponesi con FTP, la chiave è che la codifica dei caratteri sia uguale sia sul server che sul client. Su Ubuntu, impostare UTF-8 come standard e specificare esplicitamente UTF-8 sul lato client FTP può prevenire la maggior parte dei problemi di corruzione dei caratteri.

Il prossimo capitolo spiegherà la modalità passiva e le impostazioni del firewall. Queste sono configurazioni importanti per evitare problemi di connessione, specialmente quando si utilizza FTP attraverso un router o in un ambiente cloud.

6. Modalità Passiva e Configurazione del Firewall

Un problema comune quando si opera un server FTP su internet o in un ambiente NAT (dietro un router) è il fenomeno di “connessione riuscita ma impossibile recuperare l’elenco dei file” o “trasferimento dati fallito”.
Molti di questi problemi sono causati da un’impostazione errata della modalità di funzionamento FTP (attiva/passiva) e dalle impostazioni del firewall.

Questa sezione spiega come abilitare la modalità passiva in vsftpd e configurare le porte necessarie nel firewall.

Cos’è la Modalità Passiva?

FTP ha due modalità di comunicazione: “modalità attiva” e “modalità passiva”.

  • Modalità Attiva : Il server tenta di stabilire una connessione al client.
  • Modalità Passiva : La comunicazione è completata con connessioni solo dal client al server (più robusta per la comunicazione attraverso NAT e firewall).

Negli ambienti di rete moderni, la modalità passiva è raccomandata. È necessario configurare esplicitamente le impostazioni della modalità passiva in vsftpd.

Abilitazione della Modalità Passiva in vsftpd

Aggiungi o modifica le seguenti impostazioni in /etc/vsftpd.conf:

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

Questo configura vsftpd per operare in modalità passiva e utilizzare le porte 40000 a 50000 per il trasferimento dati. Questo intervallo è arbitrario, ma è comune riservare circa 20-30 porte.

Specifica dell’Indirizzo IP Esterno (per Ambienti NAT)

Se il server è in un ambiente NAT, come dietro un router, è necessario specificare esplicitamente l’indirizzo IP esterno visibile globalmente in modo che i client possano connettersi correttamente.

pasv_address=203.0.113.45

* L’indirizzo IP sopra è un esempio. Sostituiscilo con il tuo indirizzo IP globale effettivo.

Con questa impostazione, il client FTP può tentare una connessione dati basata sulle informazioni di indirizzo corrette inviate da vsftpd.

Configurazione del Firewall (UFW)

Apri le porte utilizzate da vsftpd nel firewall di Ubuntu (UFW). Esegui i seguenti comandi:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
  • 20/tcp : Canale dati FTP (per modalità attiva)
  • 21/tcp : Canale comandi FTP (login e trasmissione comandi)
  • 40000:50000/tcp : Intervallo di porte per il trasferimento dati in modalità passiva

Dopo l’impostazione, ricarica UFW per applicare le modifiche.

sudo ufw reload

Punti da Notare negli Ambienti Cloud (AWS, GCP, Azure, ecc.)

Quando si opera FTP su un’istanza cloud, è necessario aprire le stesse porte non solo nel UFW a livello di OS ma anche nel gruppo di sicurezza (firewall) del provider cloud.

Esempio: Per AWS
→ Consenti le porte TCP 21 e 40000-50000 nel Security Group.

Riassunto

Per operare FTP in modo pratico, configurare la modalità passiva di vsftpd e aprire le porte in base al tuo ambiente di rete sono essenziali. Specialmente quando si connette da una rete esterna, molti fallimenti di comunicazione e timeout sono causati da queste impostazioni.

Il prossimo capitolo spiega come impostare permessi di accesso individuali e restrizioni di directory per ciascun utente FTP. Questo sarà utile per l’operazione multi-utente e la gestione dei permessi.

7. Configurazione Per Utente

Quando si utilizza un server FTP in un ambiente operativo reale, ci sono molti casi in cui si desidera assegnare permessi di accesso e directory diversi a più utenti. Ad esempio, potresti dover impostare cartelle dedicate per ciascun dipartimento o utente individuale, o restringere l’accesso ai file di altri utenti.

Questa sezione introduce come gestire le impostazioni su base per-utente in vsftpd.

Creazione di Utenti FTP Dedicati

Prima, crea account utente dedicati per FTP. È comune creare nuovi utenti con directory home specificate.

sudo adduser ftpuser1

Questo comando crea una directory dedicata in /home/ftpuser1. Se lo usi solo per scopi FTP, puoi restringere l’accesso disabilitando la shell.

sudo useradd -m -s /usr/sbin/nologin ftpuser2

Impostazione dei Permessi per la Directory Home

A causa delle specifiche di sicurezza di vsftpd, le “directory chroot scrivibili” non sono consentite per le directory home FTP. Pertanto, si raccomanda la seguente configurazione:

/home/ftpuser1/
├── files/  ← Allow write access (for uploads, etc.)

Regola i permessi come segue:

sudo mkdir /home/ftpuser1/files
sudo chown ftpuser1:ftpuser1 /home/ftpuser1/files
sudo chmod 755 /home/ftpuser1

Questo crea una configurazione sicura in cui la directory radice (/home/ftpuser1) non è scrivibile, ma gli upload sono possibili nella sottodirectory files/.

Fissare gli Utenti alle Directory con chroot

Impostando chroot_local_user=YES, come introdotto nel capitolo precedente, puoi impedire agli utenti di login FTP di accedere a directory superiori alla loro directory home.

chroot_local_user=YES
allow_writeable_chroot=YES

Questa impostazione aiuta a prevenire la visualizzazione o modifica accidentale delle aree di altri utenti.

Utilizzo di File di Configurazione Per-Utente (Controllo Dettagliato)

vsftpd ha anche una funzionalità per applicare impostazioni individuali per ciascun utente. Questo ti permette di controllare finemente politiche come restrizioni di accesso, logging e tempi di connessione.

Prima, configura come segue:

user_config_dir=/etc/vsftpd_user_conf

Successivamente, crea file di configurazione individuali nella directory specificata.

sudo mkdir /etc/vsftpd_user_conf
sudo nano /etc/vsftpd_user_conf/ftpuser1

Esempio:

local_root=/home/ftpuser1/files
write_enable=YES

Questo ti permette di limitare la directory radice di ftpuser1 a /home/ftpuser1/files e separare i permessi di scrittura dagli altri utenti.

Punti da Notare Quando si Usa SFTP Insieme

Se stai usando SFTP (FTP basato su SSH), che utilizza funzionalità di OpenSSH, in aggiunta a vsftpd, si raccomanda di gestire le configurazioni separatamente perché le shell utente e le affiliazioni di gruppo potrebbero differire.

Riassunto

vsftpd permette un controllo flessibile delle directory e impostazioni dei permessi di accesso per ciascun utente. Una gestione utente appropriata abilita un equilibrio tra sicurezza e convenienza.

Il prossimo capitolo spiega come verificare il funzionamento del server FTP. Connettiamoci effettivamente da un client e verifichiamo che gli upload e download di file possano essere eseguiti normalmente.

8. Verifica dell’Operatività

Fino ad ora, hai completato l’installazione, la configurazione e la gestione utente del server FTP. L’ultimo passo importante è verificare che il server FTP stia operando correttamente.
Questa sezione introduce come controllare la connessione usando l’ambiente locale e un client FTP.

Controllo Connessione Ambiente Locale (Riga di Comando)

Per testare se puoi connetterti al server FTP da Ubuntu stessa, usa il comando ftp. Prova a connetterti come segue:

ftp localhost

Quando appare il prompt di login, inserisci il nome utente e la password FTP che hai creato in precedenza.

Name (localhost:username): ftpuser1
Password: ********

Dopo il login, puoi provare operazioni di base con comandi come:

ls          # Display file list
cd files    # Change directory
put test.txt  # Upload a file
get test.txt  # Download a file

Se funziona con successo, il server FTP è stato costruito senza problemi.

* Nota: Nelle versioni recenti di Ubuntu, il comando ftp è deprecato, quindi puoi installare e usare client come lftp o ncftp come alternative.

Verifica Connessione da Client GUI (Esempio FileZilla)

Per utenti generali e per verificare strutture di directory complesse, un client FTP GUI come FileZilla è comodo. La procedura di configurazione è descritta di seguito.

Procedura di Connessione con FileZilla:

  1. Avvia FileZilla e apri il Gestore Siti.
  2. Crea un Nuovo Sito.
  3. Inserisci le seguenti informazioni:
Configuration ItemContent
HostServer’s IP address or domain name
ProtocolFTP – File Transfer Protocol
EncryptionExplicit FTP over TLS (if using FTPS)
Logon TypeNormal
Userftpuser1, etc. (created username)
PasswordPassword for the above user
  1. Fai clic sul pulsante Connetti.

Se l’elenco dei file e la struttura delle directory vengono visualizzati dopo la connessione, l’operazione è riuscita. Prova anche le operazioni di upload/download.

Problemi comuni e punti di controllo durante la connessione FTP

ProblemCheckpoint
Cannot connectCheck if ports are open in the firewall and security group.
Login failed (530 Login incorrect)Verify username/password and check vsftpd.userlist.
Cannot display file listCheck if passive mode is enabled and the port range is open.
File names are garbledReconfirm UTF-8 settings and client character encoding.

Verifica dello stato con i file di log

Se il problema persiste, controllare il file di log di vsftpd può aiutare a identificare la causa.

cat /var/log/vsftpd.log

Per altri log a livello di sistema, utilizza quanto segue:

sudo journalctl -u vsftpd

Queste informazioni facilitano la comprensione di quando, chi, cosa è stato fatto e dove si è verificato il fallimento.

Altri consigli

  • Se la connessione è instabile: sospetta che il firewall o l’antivirus sul client stiano bloccando la connessione.
  • Restrizioni dovute a sicurezza avanzata: SELinux o AppArmor potrebbero interferire (AppArmor è spesso abilitato su Ubuntu).

Riepilogo

Esistono schemi ricorrenti per gli errori che tendono a verificarsi durante le operazioni FTP. Controllando con calma ciascun punto e verificando il file di configurazione, gli utenti, il firewall e i log, la maggior parte dei problemi può essere risolta.

Il capitolo successivo spiegherà in dettaglio i problemi comuni che si verificano durante le operazioni FTP e come risolverli. Conoscere come gestire gli errori migliorerà notevolmente la tua capacità di intervenire durante l’operatività reale.

9. Risoluzione dei problemi

Anche dopo aver completato la configurazione del server FTP, durante l’operatività reale possono verificarsi vari errori e malfunzionamenti. In particolare, problemi di configurazione di rete, impostazioni di permessi e restrizioni dovute a impostazioni di sicurezza possono causare difficoltà come l’impossibilità di connettersi o il fallimento del trasferimento dei file.

Questa sezione presenta errori comuni e le loro soluzioni caso per caso. È organizzata per aiutare i principianti a identificare facilmente la causa e a recuperare rapidamente.

Errori comuni e metodi di risoluzione

Errore: 530 Login incorrect

Causa:

  • Nome utente o password errati.
  • L’utente non è registrato in /etc/vsftpd.userlist (quando si utilizza una whitelist).

uzione:

  • Ricontrolla le informazioni inserite.
  • Se è impostato userlist_deny=NO, aggiungi l’utente che desideri consentire di accedere a /etc/vsftpd.userlist.

Errore: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Causa:

  • La directory home è scrivibile mentre la funzione chroot è abilitata.

Soluzione:

  • Aggiungi quanto segue a vsftpd.conf :
    allow_writeable_chroot=YES
    
  • In alternativa, non concedere permessi di scrittura alla directory home, ma configura i permessi di scrittura per una sottodirectory, ad esempio files/.