Configura un server FTP su Linux
File Transfer Protocol (FTP) è un protocollo di rete comunemente usato, utilizzato per trasferire file tra due computer. Il protocollo si basa su un'architettura client-server. Uno dei computer esegue un programma server FTP, mentre l'altro computer esegue un programma client FTP, che può scaricare o caricare file sul computer server in base alle autorizzazioni.
Di solito, gli utenti che accedono al server FTP devono autenticarsi con un nome utente e una password, tuttavia, il server può anche essere configurato per consentire l'accesso agli utenti anonimi.
Quasi tutti i sistemi operativi più diffusi come Windows, GNU/Linux, Mac OS hanno un server FTP e programmi client disponibili. In questo articolo vedremo come configurare un server FTP su un sistema Ubuntu.
Installazione
In Ubuntu, il programma vsftpd
, che sta per Demone FTP molto sicuro è un popolare programma server FTP, che può essere eseguito come demone, cioè come processo in background, come la maggior parte dei server.
Questo programma è disponibile nel repository standard di Ubuntu. Per installarlo, esegui:
sudo apt install vsftpd
Nota: Per le versioni di Ubuntu < 14.04, utilizzare apt-get
invece di adatto
.
Dopo l'installazione, il vsftpd
il demone dovrebbe avviarsi automaticamente. Per verificare se è stato avviato correttamente, eseguire:
stato del servizio vsftpd
Se lo stato non è Attivo
, ovvero non è stato avviato correttamente, eseguire il comando seguente per avviarlo e controllare nuovamente lo stato dopo averlo eseguito per vedere se è ora Attivo
.
sudo service vsftpd start
Configurazione
Il file di configurazione per vsftpd
è /etc/vsftpd.conf
. Ci sono numerose opzioni di configurazione disponibili qui. Cambieremo due opzioni che sono comunemente richieste.
Apri il file usando vim o qualsiasi editor di tua scelta.
sudo vim /etc/vsftpd.conf
Per impostazione predefinita, l'accesso anonimo al server FTP non è consentito. Per consentire l'accesso anonimo, cambiamo la variabile abilitazione_anonima
a partire dal NO
a SÌ
nel file.
Per l'accesso anonimo, un utente con il nome ftp
viene creato durante l'installazione. La directory predefinita per l'accesso a un utente anonimo è /srv/ftp
, che in realtà è la home directory dell'utente ftp
. Eventuali file da condividere con utenti anonimi devono essere copiati qui.
Se la directory per l'accesso anonimo deve essere modificata, è necessario modificare la directory home dell'utente ftp
. Per fare ciò, esegui:
sudo usermod -d ftp
Allo stesso modo, per impostazione predefinita, l'accesso in scrittura, ovvero l'accesso in caricamento, al server FTP non è consentito. Per abilitarlo, decommentiamo la riga con variabile write_enable=SI
.
Salva ed esci dal file. Se stai usando vim, premi Fuga
per andare in modalità comando vim, quindi digitare :wq
e premere accedere
per salvare ed uscire dal file.
È necessario riavviare il demone del server FTP affinché queste modifiche abbiano effetto. Per riavviarlo, esegui:
sudo service vsftpd riavvio
Testare il server
La maggior parte dei browser Web moderni ha un supporto integrato per l'accesso ai server FTP, ovvero possono agire come client FTP integrati. Tuttavia, supportano solo il download di file dal server e non il caricamento.
Scarica il test
accedere ftp://
nella barra degli indirizzi del browser per accedere al server FTP, dove è l'indirizzo IP, o nome di dominio, del server FTP. Per testare il tuo server FTP locale, inserisci
ftp:://127.0.0.1
Nota che poiché l'accesso anonimo è stato abilitato, il server ci mostra l'elenco delle directory della cartella che abbiamo abilitato per l'accesso anonimo, vale a dire. /srv/files/ftp
.
Modifichiamo il file di configurazione per disabilitare l'accesso anonimo ora e testiamo l'accesso con l'accesso utente.
sudo vim /etc/vsftpd.conf
Cambia la variabile abilitazione_anonima
a NO
.
Salva ed esci dal file. Riavvia il server FTP per rendere effettive queste modifiche.
sudo service vsftpd riavvio
Apri di nuovo lo stesso URL nel browser (ftp://127.0.0.1
).
Come possiamo vedere, il server ora ci chiede di inserire il nome utente e la password. Inserisci le credenziali e premi ok
.
Ora l'elenco delle directory è della directory home dell'utente che ha effettuato l'accesso. In questo caso è /home/abhi
.
Carica test
I browser Web consentono solo il download di file da server FTP. Per caricare file su un server FTP, accediamo al server da un file explorer.
In Ubuntu, utilizzeremo l'esploratore di file predefinito, Nautilus. Apri Nautilus facendo clic sull'icona dal dock o cercalo da Dash e aprilo.
Clicca su Altre località
proprio in fondo.
In fondo, inserisci l'URL del nostro server FTP (ftp:://127.0.0.1
) nella casella di immissione Connetti al server e premere il pulsante "Connetti".
Seleziona la casella di controllo "Utente registrato" e inserisci il nome utente e la password. Puoi scegliere una delle tre opzioni per ricordare la password inserita sopra. Infine, premi il pulsante "Connetti" nella parte superiore della finestra.
Ora, possiamo facilmente copiare o creare file sul server FTP nel solito modo in cui facciamo in un esploratore di file. Il server FTP appare sul lato sinistro come mostrato di seguito.
nnota: Nonostante vsftpd
può essere configurato per l'accesso in scrittura a utenti anonimi, questo è un enorme rischio per la sicurezza del sistema e non deve mai essere utilizzato! Il caricamento su server FTP deve essere abilitato solo per gli utenti del sistema.
Conclusione
In questo modo possiamo configurare un server FTP su Ubuntu. Assicurati di provare ad accedere a questo da un altro sistema nella tua rete, nel qual caso dovrai entrare ftp://Tuo_indirizzo_IP
invece di ftp://127.0.0.1
nel browser dell'altro sistema.
Si noti che la maggior parte dei programmi del server FTP è protetta per crittografare il contenuto trasferito utilizzando SSL/TLS (chiamato FTPS) o utilizzando FTP SSH. vsftpd
utilizza FTPS nella sua implementazione.