Sei sulla pagina 1di 5

Server/Ftp - Wiki di ubuntu-it

http://wiki.ubuntu-it.org/Server/Ftp

Server > Ftp


Indice 1. 2. 3. 4. 5. 6. 7. 8. Introduzione Installazione Avvio e arresto del servizio Prova del servizio Configurazione Limitare l'accesso Elenco dei parametri di vsftpd.conf Gestione di un server FTP 1. FTP anonimo 2. FTP anonimo e controllato da password 3. FTP con utenti virtuali e il supporto di un database MySQL 1. Opzioni varie 9. Ulteriori risorse

Introduzione
FTP (File Transfer Protocol) uno dei protocolli maggiormente usati per il trasferimento dei file. Solitamente prevede l'autenticazione degli utenti e una serie di comandi semplici per scaricare e caricare file. Questa guida si occupa della configurazione del servizio FTP utilizzando il programma vsftpd (acronimo di Very Secure FTP Daemon), uno dei programmi pi usati e sicuri per l'implementazione di questo servizio.

Installazione
necessario installare il pacchetto vsftpd, reperibile dal componente universe.

Avvio e arresto del servizio


Una volta installato il pacchetto vsftpd, il servizio FTP viene avviato automaticamente. Per fermare il servizio digitare il seguente comando: sudo /etc/init.d/vsftpd stop Per avviare il servizio, una volta arrestato, digitare il seguente comando: sudo /etc/init.d/vsftpd start Per riavviare il servizio utile digitare il seguente comando: sudo /etc/init.d/vsftpd restart

Prova del servizio


Ora, consideriamo di doverci collegare al computer, con indirizzo IP 192.168.1.2, su cui stato installato il servizio FTP. Per fare ci, da un terminale, digitare: ftp 192.168.1.2 Viene visualizzato un messaggio di richiesta di immissione delle credenziali di accesso simile al seguente: Connected to 192.168.1.2 Name (192.168.1.2): Inserire come nome utente: anonymous

1 di 5

15/05/2012 12:49

Server/Ftp - Wiki di ubuntu-it


e premere Invio.

http://wiki.ubuntu-it.org/Server/Ftp

Viene dunque richiesta la password. In questo caso sufficiente premere Invio. Generalmente, per l'utente anonymous non viene impostata alcuna password. Una volta effettuato l'accesso sar possibile esplorare le cartelle disponibili sul server, dunque caricare e scaricare i file, limitatamente ai permessi impostati per il proprio utente. Gli utenti anonimi possono avere accesso soltanto alla cartella /home/ftp del server, nella quale, a seconda dei parametri di configurazione impostati, potranno soltanto leggere/scaricare, oppure anche scrivere/caricare.

Configurazione
Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli stessi del sistema, necessario modificare il file di configurazione del servizio /etc/vsftpd.conf con uno degli editor di testo messi a disposizione da Ubuntu. Aprire una finestra di terminale e digitare il seguente comando: sudo gedit /etc/vsftpd.conf Cercare la seguente riga e cancellare il carattere di cancelletto # presente all'inizio della stessa: #local_enable=YES Ora possibile tentare di collegarsi al server con il comando descritto in precedenza ed effettuare l'accesso utilizzando uno degli account utente presenti sul sistema locale. Gli utenti del sistema avranno accesso al servizio FTP potendo esplorare tutte le cartelle del sistema. Applicando le impostazioni sopra discusse, gli utenti del sistema avranno accesso, tramite il servizio FTP, a tutte le cartelle del filesystem locale. Per evitare ci opportuno limitare l'accesso degli utenti solamente alla propria cartella Home. A tale scopo utile decommentare la seguente riga: #chroot_local_user=YES

Limitare l'accesso
Per rafforzare la sicurezza, possibile scegliere gli utenti ai quali vietare l'accesso al servizio FTP. Per far ci utile modificare il file /etc/ftpusers, il quale contiene la lista degli utenti ai quali non consentito accedere al servizio. Il seguente del contenuto di default del file /etc/ftpusers: # /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5). root daemon bin sys sync games man lp mail news uucp nobody consigliato aggiungere gli utenti all'elenco senza cancellare quelli pre-esistenti.

2 di 5

15/05/2012 12:49

Server/Ftp - Wiki di ubuntu-it

http://wiki.ubuntu-it.org/Server/Ftp

Per non consentire l'utilizzo del servizio all'utente mario, sufficiente aggiungere il nome dell'utente in coda all'elenco, in questo caso mario. Effettuate le modifiche, necessario riavviare il servizio.

Elenco dei parametri di vsftpd.conf


Di seguito vengono presentati alcuni dei parametri che possibile configurare per vsftpd:

anonymous_enable=YES Abilita/disabilita l'accesso anonimo.

local_enable=YES Abilita/disabilita l'accesso agli utenti locali.

write_enable=YES Abilita/disabilita agli utenti l'accesso in scrittura.

anon_upload_enable=YES Abilita/disabilita la possibilit degli utenti anonimi di caricare file. Valido solo se l'opzione precedente impostata a vero.

anon_mkdir_write_enable=YES Abilita/disabilita la possibilit degli utenti anonimi di creare nuove directory.

xferlog_enable=YES Attiva i log su tutte le operazioni di scaricamento e caricamento file.

xferlog_file=/var/log/vsftpd.log Specifica il percorso per i file di log.

ftpd_banner= Imposta un messaggio di benvenuto visualizzato all'accesso al server FTP.

3 di 5

15/05/2012 12:49

Server/Ftp - Wiki di ubuntu-it

http://wiki.ubuntu-it.org/Server/Ftp

Gestione di un server FTP


Ci sono principalmente tre modi per configurare un server ftp: 1. FTP anonimo Sar possibile accedere al server senza aver bisogno di un account registrato; tutti gli utenti saranno liberi di eseguire upload, che verranno ovviamente controllati da alcune regole impostate dall'amministratore di sistema (limite di dimensione, controllo anti-pirateria, etc). 2. FTP anonimo e controllato da password Questo metodo dar la possibilit di accedere al server sia ad utenti anonimi che a quelli con un regolare account a cui sar dato accesso ad alcune cartelle predefinite dall'amministratore, eccetto che per l'utente root che potr vedere/modificare/cancellare tutte i file e/o le cartelle. 3. FTP con utenti virtuali e il supporto di un database MySQL Questo metodo abilita l'accesso al server solo per il gruppo di utenti che non ha un'autenticazione virtuale via shell nel sistema. Sar richiesto l'uso di un database MySql che conterr tutte le informazioni riguardanti gli utenti.

FTP anonimo
Prima di creare un server con accesso anonimo, si dovr aggiungere al sistema l'utente ftp, con una sua directory home. Per farlo seguite questi comandi: useradd -d /home/ftp/ftp -s /bin/false ftp mkdir -p /home/ftp/upload Ci sono inoltre numerose opzioni con le quali avviare il server, in modo da configurarne ogni singolo aspetto. Alcune di queste opzioni sono le seguenti: -e Accesso solo per gli utenti anonimi. -B Avvia il server in modalit background. -i Gli utenti anonimi non potranno caricare file. -M Permette agli utenti anonimi di creare cartelle. -s I file degli utenti ftp non possono essere scaricati.

FTP anonimo e controllato da password


Per consentire l'accesso al server a tutti gli utenti (registrati e anonimi), possibile seguire questi semplici comandi: -B ,-i ,M, -r, -s Stesse variabili descritte in precedenza. -u <uid> Autorizza utenti con uno specifico ID(uid) ad accedere al server. -V <Ip address> Solo specifici IP potranno accedere al server in modalit non-anonima.

FTP con utenti virtuali e il supporto di un database MySQL


Per creare un server che affidi a MySQL la gestione degli utenti, possibile utilizzare procedere come segue: Aprire una finestra di terminale e digitare il seguente comando: sudo apt-get install pure-ftpd Scaricare User Manager for PureFTPd da questo indirizzo. Decomprimere il pacchetto e caricare il contenuto nella directory principale del server web, dunque aprire, con il proprio browser, questo indirizzo. Seguire le indicazioni a schermo. Copiare pureftpd-mysql.conf nella cartella di User Manager for PureFTPd.

4 di 5

15/05/2012 12:49

Server/Ftp - Wiki di ubuntu-it

http://wiki.ubuntu-it.org/Server/Ftp

Salvare la configurazione e chiudere. Per effettuare l'accesso tramite l'interfaccia web sufficiente aprire questo indirizzo con il proprio browser.

Opzioni varie
-c <num> Numero di client massimo abilitato ad effettuare l'accesso al server. Esempio: pure-ftpd -c 3 -C <num> Numero massimo di connessioni per IP. Esempio: pure-ftpd -C 3 -T <bandwitdh> Massima banda disponibile per ogni connessione (in kb/s). Esempio: pure-ftpd -T 150 -n <MBytes> Numero massimo di Mb disponibili per ogni utente. Esempio: pure-ftpd -n 200 -m <Cpu Loading> Blocca gli upload da parte di utenti anonimi nel caso che il caricamento della CPU superi il livello definito in termini di percentuale. Esempio: pure-ftpd -m 50

Ulteriori risorse
Sito ufficiale di vsftpd Guida alla configurazione di vsftpd CategoryServer 2005 - 2012 Canonical Ltd. Ubuntu e Canonical sono marchi registrati da Canonical Ltd. Questa opera pubblicata sotto una licenza Creative Commons

5 di 5

15/05/2012 12:49