11.3. Servidor de Arquivos FTP
O FTP (File Transfer Protocol) é um dos primeiros protocolos da internet (a RFC 959 foi emitida em 1985!). Ele era usado para distribuir arquivos antes mesmo que a Web tivesse nascido (o protocolo HTTP foi criado em 1990, e formalmente definido em sua versão 1.0 pela RFC 1945, emitida em 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.
Outros servidores FTP são principalmente usados para distribuir arquivos para qualquer um baixar; os pacotes Debian são um bom exemplo. O conteúdo desses servidores é obtido de outro servidor geograficamente remoto; e então disponibilizados para usuários menos distantes. Isso significa que a autenticação do cliente não é necessária; como consequência, esse modo de operação é conhecido como “anonymous FTP”. Para ser mais correto, os cliente fazem uma autenticação com nome de usuário anonymous
; a senha é, geralmente, por convenção, o endereço de email do usuário, mas o servidor ignora isso.
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.
A instalação do pacote cria um usuário ftp
no sistema. Essa conta é sempre usada para conexões de FTP anônimas, e seu diretório inicial (home) (/srv/ftp/
) é a raiz da árvore que está disponível ao usuários que se conectam a esse serviço. A configuração padrão (em /etc/vsftpd.conf
) necessita de algumas mudanças para atender a simples necessidade de tornar grandes arquivos disponíveis para baixar pelo público: o acesso anônimo precisa ser habilitado (anonymous_enable=YES
) e o acesso apenas para leitura de usuários locais precisa ser desabilitado (local_enable=NO
). Esse último é particularmente importante já que o protocolo FTP não usa nenhuma forma de criptografia e a senha do usuário poderia ser interceptada pelo cabo.
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.