FTP (File Transfer Protocol) è uno dei primi protocolli di Internet (la RFC 959 è stata rilasciata nel 1985!). È stato utilizzato per distribuire i file ancor prima che il Web nascesse (il protocollo HTTP è stato creato nel 1990 e formalmente definito nella sua versione 1.0 dalla RFC 1945 rilasciata nel 1996).
This protocol allows both file uploads and file downloads; for this reason, it is still widely used to deploy updates to a website hosted by one's Internet service provider (or any other entity hosting websites). In these cases, access is enforced with a user identifier and password; on successful authentication, the FTP server grants read-write access to that user's home directory.
Altri server FTP vengono impiegati principalmente per distribuire file scaricabili dal pubblico (i pacchetti di Debian sono un buon esempio). Il contenuto di questi server è recuperato da altri server lontani geograficamente che a loro volta rendono disponibili i file agli utenti a loro più prossimi. Questo significa che l'autenticazione del client non è richiesta: conseguentemente questa modalità operativa è conosciuta come «FTP anonimo». Per essere precisi i client si autenticano con il nome utente anonymous
e spesso, per convenzione, la password impiegata è l'indirizzo email dell'utente, anche se il server lo ignora.
Many FTP servers are available in Debian (ftpd(-ssl), proftpd-basic, pure-ftpd and so on), which all provide the virtual ftp-server package. Please note that the pyftpd package, however, has been removed from the Debian project due to not being actively maintained anymore and being incompatible with Python 3. The Falcot Corp administrators picked vsftpd because they only use the FTP server to distribute a few files (including a Debian package repository); since they don't need advanced features, they chose to focus on the security aspects.
Installando il pacchetto viene creato un utente di sistema ftp
. Questo account viene utilizzato per le connessioni FTP anonime, e la sua directory home (/srv/ftp/
) è la radice dell'albero reso disponibile agli utenti che si collegano al servizio. La configurazione predefinita (in /etc/vsftpd.conf
) richiede alcune modifiche per soddisfare il semplice bisogno di rendere disponibili file di grandi dimensioni per il download pubblico: l'acesso anonimo deve essere abilitato (anonymous_enable=YES
) e l'accesso in sola lettura degli utenti locali deve essere disattivato (local_enable=NO
). Quest'ultima è particolarmente importante dal momento che il protocollo FTP non usa alcuna forma di crittografia e la password utente potrebbe essere intercettata.
FTP and FTPS resources can be accessed with a variety of clients, with and without a graphical user interface, and they can also be mounted locally using the curlftpfs
command from the similarly named package.