11.3. Serveur de fichiers FTP
Le protocole de transfert de fichiers FTP (File Transfer Protocol) est un des premiers protocoles d'Internet (la RFC 959 date de 1985 !). Il a servi à diffuser des fichiers avant même l'invention du Web (la RFC 1945 décrivant le protocole HTTP/1.0 date de 1996 mais ce dernier existait depuis 1990).
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.
D'autres serveurs FTP servent essentiellement à diffuser des fichiers que les gens souhaitent télécharger. C'est le cas, par exemple, avec les paquets Debian. Le contenu de ces serveurs FTP est récupéré depuis divers autres serveurs géographiquement éloignés et mis à disposition des utilisateurs locaux. Dans ce cas, l'authentification du client n'est pas nécessaire ; on parle de FTP anonyme et l'accès est en lecture seule. En réalité, le client s'authentifie avec le nom d'utilisateur anonymous
et un mot de passe quelconque (qui est souvent, par convention, l'adresse électronique de l'usager).
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.
L'installation du paquet entraîne la création d'un utilisateur système ftp
. Ce compte est systématiquement employé pour gérer les connexions FTP anonymes et son répertoire personnel (/srv/ftp/
) est la racine de l'arborescence mise à disposition des utilisateurs se connectant sur le service. La configuration par défaut (telle que détaillée dans /etc/vsftpd.conf
) nécessite quelques modifications pour répondre au simple besoin de mise à disposition publique de gros fichiers : l'accès anonyme doit être activé (anonymous=YES
) et l'accès (en lecture seule) des utilisateurs locaux doit être désactivé (local_enable=NO
). Ce dernier point est particulièrement important car le protocole FTP n'utilise pas de chiffrement et le mot de passe de l'utilisateur pourrait être intercepté à la volée.
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.