[Ubuntu] Installare server ftp

FTPAltro piccolo tip che permette il controllo remoto della vostra macchina. Ecco un modo semplicissimo per installare un server FTP sul vostro sistema UNIX based.

Capita spesso di avere la necessità di trasportare file di grosse dimensioni. Non sempre abbiamo a disposizione un pen driver, non sempre è cosa buona masterizzare i documenti che ci servono (il supporto potrebbe graffiarsi durante il trasporto).

Impostare con permessi pubblici il server Apache può andar bene per scaricare i file da remoto usando il protocollo http. Ma nel momento in cui dobbiamo effettuare l’invio di un file, http non è per niente la scelta vincente.

Ecco che ci viene in soccorso il protocollo ftp (File Transfert Protocol) che a differenza del protocollo http (Hyper Text Transfert Protocol) nasce per supportare al meglio l’invio e la ricezione di file.
Siamo spesso abituati ad accedere ad un server FTP per pubblicare i nostri siti internet, ed in generale andiamo di FTP su server pubblici remoti che ospitano i nostri blog o qualsiasi altro tipo di sito.

Installare un server FTP sulla macchina che usiamo prioritariamente come desktop ci permette di avere i nostri documenti sempre disponibili e di facile accesso. Possiamo anche inviarci il lavoro a casa e farli arrivare ancora prima di noi 🙂

In pratica, non ci resta che installare un demone FTP e configurarlo a dovere. Se, come succede a me, la vostra distro preferita ha un nome vagamente africaneggiante, potete installare vsftpd (Very Secure File Transfert Protocol Demon) prelevandolo direttamente dai repository ufficiali.

sudo apt-get install vsftpd

Pochi secondi e il demone è pronto! Non ci resta che configurarlo a dovere.

NB: le opzioni di configurazione sono innumerevoli. Di seguito si assumerà vsftpd installato su una macchina solitamente utilizzata come desktop. L’uso del demone sarà in funzione dell’accesso dell’utente alla propria directory home.

Il file di configurazione è in /etc/vsftpd.conf. Apriamolo!

vi /etc/vsftpd.conf

Dato che vogliamo accedere solo noi al server, inibiremo l’accesso anonimo.

anonymous_enable=NO

Vogliamo accedere al server con le nostre credenziali di accesso al sistema.

#In default la riga è commentata
#Decommentatela ed impostate
#come segue
locale_enable=YES

Vogliamo poter scrivere le directory remote. Che vuol dire che vogliamo poter creare e cancellare directory, come inviare file.

#In default la riga è commentata
#Decommentatela ed impostate
#come segue
write_enable=YES

In questo modo però, tutti gli utenti di sistema avranno accesso al server ftp ed alla loro home. Se il nostro sistema è un multiutente vero, e vogliamo evitare che terzi utenti possano sfruttare il server, dobbiamo popolare il file /etc/ftpusers con tutti gli utenti che NON avranno accesso al server. In ambienti desktop con pochi utilizzatori non dovrebbe essere cosa gravosa 🙂

Quando abbiamo tutto bello e configurato, riavviamo il demone.

sudo /etc/init.d/vsftpd restart

Fate attenzione al fatto che il demone, in quanto tale, sta sempre in listening sulla porta 21 (la predefinita per le connessioni ftp). Inoltre il servizio si avvia all’avvio della sessione.

Se non volete che questo avvenga, in System >> Preferences >> Services, deflaggate il server dalla lista di applicazioni dello sturtup.

FTP Service

In questo caso, nel momento in cui vi servirà l’accesso ftp alla vostra macchina, dovrete avviare il demone manualmente.

sudo /etc/init.d/vsftpd start

CONSIGLIO
Dato che un server ftp sempre attivo è sempre e comunque fonte di maggiore vulnerabilità del sistema (non per bug, ma per la natura stessa del servizio), nel caso in cui si usi per propri scopi personali il server FTP, la cosa migliore sarebbe mantenerlo disattivato in default.
Se siamo fuori casa e ci serve, basterà accedere prima via SSH alla macchina, ed avviare il demone dalla shell remota.

23 thoughts on “[Ubuntu] Installare server ftp”

  1. Ma a questo punto se si usa ssh per accedere perchè non lasciare il server ftp lì dove sta , possibilmente spento, e usare direttamente sftp ?

  2. scusa la domanda forse un pò sciocca…
    io su windows usavo filezilla (server + client) per scambiare file con i miei colleghi… ed avevamo gli account per eliminare accessi anonimi…
    ma dato che ora sono passato a linux… ci sono problemi con gli altri colleghi su windows? e per gli account?
    grazie

  3. ho capito… grazie!
    scusami ancora… un’altra domanda…
    ma dove si impostano gli utenti abilitati?
    e come?
    grazie ancora.

  4. La cosa che puoi fare è:
    – disabilitare l’accesso anonimo

    – disabilitare l’accesso agli utenti di sistema inserendoli nel file /etc/ftpusers (questo perchè ftp passa in chiaro le informazioni di user e pass e non è il caso di usarle da remoto)

    – creare un nuovo utente (comando adduser) che sarà l’unico a NON essere inserito in /etc/ftpusers. Quindi l’unico abilitato ad accedere via ftp. Organizzerai poi la sua home in funziona della struttura dei file che vi scambiate.

    E’ questione poco tecnica e molto organizzativa 🙂

  5. ciao sono alle prime armi e sto imparando ad usare i comandi di dos in windows. Vorrei imparare a scaricare da un server ftp ma non riesco a trovare una lista di server anonimi nel web..mi puoi dare una mano tu?? grazia ciao

  6. Semplice. Dopo il login ftp da remoto sarete nella home dell'utente che ha effettuato il login. Da li potete muovervi.

    E' lo stesso principio del browser off line delle directory

  7. Tutto molto chiaro! Ma come faccio a salvare le modifiche del file vfstpd, il gedit non me lo permette!

  8. Ho effettuato correttamente l'installazione e le modifiche alla configurazione.
    Come faccio a settare degli account per l'accesso al server FTP? Devo creare un utente "mioutente" con password "miapassword" che loggato in FTP possa ulpadare contenuti in "/var/www/".

    Grazie

  9. ciao!

    io ho una ubuntu server 9.04 e ho montato vsftp

    ho abilitato gli utenti locali, quindi entro direttamente da remoto con un utente della maccchina.

    il problema è che i file uploadati via ftp, hanno pochissimi diritti (-rw——- 1) e invece io ho bisogno che siano almeno eseguibili, perchè sono dei file PHP.

    Non vorrei stare ogni volta a fare chmod…

    Inoltre non ho problemi di security perchè è una macchina locale.

    Come risolvo? 🙂

    Grazie

  10. Salve a tutti,
    sono nuovo di linux ubuntu 8.10
    ma sempre di più me ne innamoro.
    Sono riuscito a installare a configurare
    e far funzionare vsftd dopo due mesi di tentativi ed è stato magnifico arrivarci pian piano.
    Ora però mi chiedo se è possibile far apparire sul desk una forma di notifica
    quando un utente registrato accede dal web e carica o scarica un file dal mio server ftp.

Comments are closed.