## Server FTP

File Transfer Protocol (FTP) is a TCP protocol for uploading and downloading files between computers. FTP works on a client/server model. The server component is called an FTP daemon. It continuously listens for FTP requests from remote clients. When a request is received, it manages the login and sets up the connection. For the duration of the session it executes any of commands sent by the FTP client.

L'accesso a un server FTP può essere gestito in due modi:

- Anonimo

- Con autenticazione

Nella modalità anonima, i client remoti possono accedere al server FTP utilizzando l'account utente predefinito chiamato "anonymous" o "ftp" e inviando un indirizzo di posta elettronica come password. Nella modalità con autenticazione l'utente deve essere in possesso di un account e di una password. L'acceso dell'utente ai file e alle directory del server FTP dipende dai permessi definiti per l'account utilizzato per il login. Come regola generale, il demone FTP nasconde la directory radice del server FTP, cambiandola nella home directory di FTP. In questo modo il resto del file system è nascosto alle sessioni remote.

### vsftpd - Installazione del server FTP

Un demone FTP disponibile in Ubuntu è vsftpd, semplice da installare, configurare e mantenere. È possibile installare vsftpd eseguendo il comando seguente:

     sudo apt-get install vsftpd

### vsftpd - Configurazione del server FTP

Per cambiare le impostazioni predefinite, è possibile modificare il file di configurazione di vsftpd, `/etc/vsftpd.conf`. In modo predefinito è consentita solamente la modalità anonima. Per disabilitare questa opzione, è necessario cambiare la riga seguente

    anonymous_enable=YES

in

    anonymous_enable=NO

In modo predefinito gli utenti del sistema locale non sono autorizzati ad accedere al server FTP. Per cambiare questa impostazione, è necessario togliere il commento dalla riga seguente:

    #local_enable=YES

In modo predefinito, gli utenti sono autorizzati a scaricare file dal server FTP, ma non possono effettuare l'upload. Per cambiare questa impostazione, è necessario togliere il commento alla riga seguente:

    #write_enable=YES

In maniera simile, gli utenti anonimi non sono autorizzati a effettuare l'upload di file sul server FTP. Per cambiare questa impostazione, è necessario togliere il commento alla riga seguente

    #anon_upload_enable=YES

Il file di configurazione è composto da molti parametri di configurazione. Le informazioni riguardo ciascun parametro sono disponibili nel file stesso. In alternativa, è possibile fare riferimento alla pagina di manuale, man 5 vsftpd.conf, per conoscere i dettagli di ogni parametro.

Una volta configurato vsftpd è possibile avviare il demone. È possibile eseguire il seguente comando per mettere in esecuzione il demone vsftpd:

     sudo /etc/init.d/vsftpd start

Notare che le impostazioni predefinite presenti nel file di configurazione, sono così per ragioni di sicurezza. Ognuno dei cambiamenti prima elencati rendono il sistema un po' meno sicuro: applicarli in casi di effettiva necessità.

Server OpenSSH |  | NFS (Network File System)