MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
20090629114806_1831161964_20090629114705_1767412428_server_download2.png

Guida: installazione e configurazione di un Server FTP con Ubuntu e vsftpd

a cura di The Doctor
12/05/2011 - articolo
Linux & Open Source - Grazie a vsftpd e ad Ubuntu possiamo installare e configurare un Server FTP personale, sicuro ed affidabile, per trasferire e rendere disponibili i nostri file via Internet. Vediamo come.

Predisporre un Server FTP sul nostro PC rappresenta la soluzione ideale per scambiare i nostri file in rete, soprattutto se vogliamo bypassare le limitazioni imposte dai moderni siti di web hosting. I motivi che possono spingerci ad adottare tale soluzione, ovviamente, non si limitano solo a tale aspetto, ma sono molteplici. Per approfondimenti consiglio di leggere la guida: come predisporre un server FTP sul proprio PC.

Di cosa abbiamo bisogno?

Grazie a soluzioni interamente open source come GNU/Linux possiamo creare il nostro server praticamente "a costo zero", ottenendo ottimi risultati in termini di affidabilità, sicurezza e semplicità di gestione. L'ideale sarebbe destinare un PC a svolgere questo compito, Anche con limitate risorse hardware, magari rispolverandone uno dall'armadio che avevamo accantonato proprio per tale motivo.

Come Sistema Operativo possiamo utilizzare indistintamente Ubuntu sia nella versione Server sia Desktop, poiché l'unico altro requisito che ci occorre è un piccolo ma potente programma chiamato vsftpd.

Installazione di vsftpd

Per installare vsftpd, un programma di soli 108kb, diamo il comando sudo apt-get install vsftpd, digitiamo la nostra password e premiamo Invio. Verrà creato un utente ftp ed aggiunto al gruppo ftp; inoltre il demone del programma si avvierà automaticamente.

Vsftpd-installation.png

Configurazione del Server FTP - Parte I

La prima cosa da fare è creare la cartella che conterrà i file, ovvero quella in cui potranno accedere gli utenti del server. Diamo, ad esempio, il comando sudo mkdir /var/ftp.

I parametri di configurazione sono interamente contenuti nel file vsftpd.conf che si trova nella cartella /etc. Prima di fare qualunque modifica facciamone una copia di sicurezza con sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig, poi editiamolo con sudo nano /etc/vsftpd.conf.

Vsftpd-editing.png

Il file è piuttosto lungo poiché risulta essere commentato dettagliatamente. Il mio consiglio è di cancellarne interamente il contenuto in modo da avere una visione pulita dei parametri di configurazione che, alla fine, saranno appena una ventina in altrettante righe!

L'editor nano, purtroppo, non consente di cancellare rapidamente il contenuto del file. Se non vogliamo utilizzare il classico tasto canc, dopo aver fatto il backup come visto in precedenza eliminiamo il file con sudo rm /etc/vsftpd.conf e ricreiamolo semplicemente aprendolo con sudo nano /etc/vsftpd.conf.

Il file di configurazione vsftpd.conf rappresenta il cuore del nostro Server FTP, vediamolo in dettaglio:

Analizziamo le righe una ad una:

01. Semplice commento riguardante il file di configurazione;

02. anonymous_enable=NO > agli utenti anonimi non è consentito il login al Server FTP;

03. anon_upload_enable=NO > agli utenti anonimi non è consentito caricare file sul Server FTP;

04. anon_mkdir_write_enable=NO > agli utenti anonimi non è consentita la creazione di nuove cartelle;

05. local_enable=YES > abilita gli utenti di sistema ad accedere al Server FTP;

06. write_enable=YES > consente l'esecuzione di comandi FTP, quali STOR, DELE, RNFR, RNTO, MKD, RMD, APPE e SITE, ovvero creazione/cancellazione di nuove cartelle, modifica dei nomi, eccetera (info);

07. dirmessage_enable=YES > agli utenti può essere mostrato un messaggio personalizzato quando entrano per la prima volta in una cartella;

08. xferlog_enable=YES > abilita la creazione di un file di LOG che contiene dettagliate informazioni su upload e download degli utenti;

09. xferlog_file=/var/log/vsftpd.log > specifica la posizione ed il nome del file di LOG;

10. xferlog_std_format=YES > definisce lo standard del file di LOG per i sistemi UNIX (info);

11. connect_from_port_20=NO > disabilita l'uso della porta 20 per le connessioni ftp-data;

12. listen=YES > abilita il funzionamento di vsftpd in modalità stand-alone;

13. listen_port=21 > la porta "classica" utilizzata anche da vsftpd per le connessioni FTP;

14. ftpd_banner=Benvenuto nel Server FTP > banner di benvenuto;

15. chroot_local_user=YES > gli utenti locali vengono chiusi all'interno della loro home dopo il login;

16. check_shell=NO > disabilita il controllo della shell degli utenti locali;

17. userlist_deny=NO > per motivi di sicurezza, agli utenti viene impedito l'accesso al Server FTP se non sono esplicitamente dichiarati in un file specifico. Il login all'utente viene negato prima ancora che gli venga richiesta la password.

18. userlist_enable=YES > abilita il controllo della lista utenti autorizzati al login;

19. userlist_file=/etc/vsftpd.user_list > definisce la posizione ed il nome del file che contiene la lista degli utenti autorizzati al login;

20. pam_service_name=/bin/false > definisce il percorso per l'autenticazione degli utenti.

Il file di configurazione può essere ulteriormente personalizzato con moltissime altre opzioni, per soddisfare anche gli utenti più esigenti. Per informazioni dettagliate consiglio di prendere visione della documentazione ufficiale.

Al termine delle modifiche salviamo con [CTRL + O], premiamo Invio ed usciamo dall'editor con [CTRL + X].

Gestione deli utenti

Per comodità, nonostante ci abbia già pensato vsftpd in fase di installazione, consiglio di creare un gruppo apposito per l'accesso al Server FTP con il comando sudo groupadd ftp-users.

Per la creazione dei nuovi utenti utilizziamo il comando già visto nella Guida: installazione e configurazione di un File Server con Ubuntu, che per comodità riporto:

sudo useradd -c "Utente FTP" -g ftp-users -m -k /dev/null -s /bin/false -d /var/ftp/utenteftp utenteftp

Nuovo-utente.png

Adesso rendiamo attivo il nuovo utente con sudo passwd utenteftp.

Attivazione-utenteftp.png

Resta inteso che possiamo utilizzare anche solamente il nostro utente di sistema per accedere al Server FTP senza crearne altri.

Il passo successivo riguarda la creazione del file contenente la lista degli utenti ftp abilitati. Diamo il comando sudo nano /etcvsftpd.user_list ed aggiungiamo manualmente il nostro utente e tutti quelli che abbiamo eventualmente creato in precedenza. Al termine delle modifiche salviamo con [CTRL + O], premiamo Invio ed usciamo dall'editor con [CTRL + X].

Lista-utenti-autorizzati.png

Infine riavviamo vsftpd per rendere effettive tutte le modifiche effettuate con sudo service vsftpd restart oppure con sudo /etc/init.d/vsftpd restart.

Riferimenti utili

Il Server FTP è ormai configurato e pronto per essere provato ed utilizzato. Per comodità e dovizia di informazioni riporto i link di alcune guide pubblicate qui su MegaLab.it che possono risultare utili:

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati