Una guida rapida e (spero completa) alla installazione e all’uso di un server FTP usando vsftpd. La traccia base mi è stata data dall’articolo già pubblicato su questo sito, ed ho cercato di completarlo e di chiarire alcuni punti che mi sembrano importanti.
In questa guida, riferirò di come utilizzare il ftp server per più utenti accreditati.

INSTALLAZIONE
Niente di più facile:
apt-get vsftpd

PRIMA CONFIGURAZIONE
Alcune cose da ricordare:
- Innanzitutto una cosa che TUTTE le altre guide si dimenticano (!!!) di specificare. La cartella usata come “root” del nostro sito ftp è la seguente: /var/ftp
- Fondamentale: ogni utente del sito FTP, deve essere definito come utente del sistema con tutto quello che ne consegue (di positivo).
- Non appena installato, vsftpd è già perfettamente funzionante, come server per un utente denominato (con molta fantasia) “ftp”: potete eseguire il test semplicemente digitando da console:
ftp 192.168.1.4 username: ftp password: ftp
Visto, funziona!

PREPARAZIONE E PERSONALIZZAZIONE DELL’AMBIENTE DI LAVORO
Innanzitutto occorre creare la cartella di root del server (quella nella quale accederanno gli utenti, per capirci).
Da root:
mkdir /var/ftp
Se si vuole creare la cartella in un altro disco (Es: il sistema linux su hda1, il disco archivio è sda1), si può creare una cartella sul secondo disco (Es: /mnt/sda1/ftproot), e creare un link simbolico alla cartella ftp:
ln -s /mnt/sda1/ftproot /var/ftp
Fatto questo, occorre personalizzare il file di configurazione di vsftpd (/etc/vsftpd.conf): questo file contiene tutti i parametri necessari per il funzionamento del server.
Esistono molti parametri di configurazione, per i quali vi rimando alla documentazione su google… Quello riportato di seguito, è usempio di file /etc/vsftpd.conf
Prima però mi faccio una copia del file standard, non si sa mai:
cp /etc/vsftpd.conf /etc/vsftpd.conf.old
Per editare i files, io uso “nano” ma potete editarli con l’editor che preferite. Inserire questi parametri, cancellando tutto il contenuto precedente (l’avete fatta la copia, vero?)
#### /etc/vsftpd.conf ### anonymous_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES ls_recurse_enable=NO listen_port=21 connect_from_port_20=NO listen=YES background=YES # definiamo una chroot() jail chroot_local_user=YES check_shell=NO userlist_deny=NO # definiamo una lista di utenti autorizzati # nel file /etc/vsftpd.user_list userlist_enable=YES userlist_file=/etc/vsftpd.user_list

CREAZIONE DEGLI UTENTI
Ripeto, visto che è fondamentale: ogni utente del server FTP è anche un utente del sistema linux! Aggiungiamo adesso il primo utente linux (pippo), e creiamo cartella relativa sulla cartella ftp.
mkdir /var/ftp/pippo useradd -d /var/ftp/pippo pippo chown /var/ftp/pippo pippo
Posso creare tutti gli utenti che voglio adesso o posso anche aggiungerli successivamente.
Una nota importante: il parametro chroot_local_user=YES visto sopra, nel file /etc/vsftpd.conf , fa in modo che nel momento dell’accesso, l’utente venga indirizzato (chroottato, oserei dire) nella propria cartella, definita nel momento della creazione dell’utente stesso.
Problema: come faccio a dire a vsftpd quali utenti sono ammessi all’accesso nl nostro server? Semplicissimo, basta creare un file chiamato /etc/vsftpd.user_list contenente la lista degli utenti ammessi:
### /etc/vsftpd.user_list ### # file /etc/vsftpd.user_list # Lista Utenti Autorizzati pippo pluto topolino
Naturalmente, ogni volta che aggiungo un utente, dovrò aggiungerlo a mano nel file di cui sopra, pena il mancato riconoscimento da parte del server (quante nottate si possono perdere per un errore come questo!!!!!)
Ad ogni modifica, si deve far riavviare il server FTP:
/etc/init.d/vsftpd restart
LA CILIEGINA SULLA TORTA!
Una volta configurato il server FTP, e testato in tutte le funzionalità, sarebbe bello e professionale aggiungere un messaggio iniziale di benvenuto. Questo messaggio sarà contenuto in un semplice file di testo (/etc/welcome.banner).
Aggiungere al file /etc/vsftpd.conf le seguenti righe:
# Aggiunge un messaggio iniziale banner_file=/etc/welcome.banner
Poi creare il file ti puro testo (/etc/welcome.banner)
Benvenuti sul server FTP di Mario Rossi. Inserisci i tuoi dati per l'autenticazione Tutte le attivita sono monitorate. Ti auguriamo un buon lavoro....
(o qualsiasi altra cosa vi venga in mente!)
e far ripartire il server:
/etc/init.d/vsftpd restart
Alla connessione, vedremo anche il messaggio di accesso…

Impostazioni personalizzate
Se vuoi redirigere la cartella dell’anonimous nella cartella di un utente cambia il file /etc/passwd la voce utente ftp assegnando la home dell’utente Per evitare l’ssh imposta la shell su /bin/false
ftp:x:106:65534::/home/Pippo/:/bin/false Pippo:x:1003:100::/home/Pippo/:/bin/false
Last updated: 11 Febbraio 2015 by Pierluigi Minati