File Transfer Protocol (FTP) é um protocolo TCP para upload e download de arquivos entre computadores. O componente de servidor é chamado de FTP daemon. Continuamente observa requisições FTP de clientes remotos. Quando uma requisição é recebida, administra o login e inicia a conexão. Até o fim da sessão, executa qualquer comando enviado pelo cliente FTP.
Acesso à um servidor FTP pode ser controlado em 2 maneiras:
Anônimo
Autenticado
No modo Anônimo, clientes remotos podem acessar o servidor FTP usando a conta de usuário padrão chamada 'anonymous' ou 'ftp' e informando um endereço de e-mail como senha. No modo Autenticado um usuário precisa ter uma conta e uma senha. O acesso do usuário aos diretórios e arquivos do servidor de FTP depende das permissões definidas para a conta usada no login. Como uma regra geral, o serviço de FTP irá esconder o diretório root do servidor de FTP e alterá-lo para o diretório Home do FTP. Isso ocultará o restante do sistema de arquivos nas sessões remotas.
O vsftpd é um daemon FTP disponível no Ubuntu. Ele é fácil de instalar, configurar e manter. Para instalar o vsftpd você pode rodar o seguinte comando:
sudo apt-get install vsftpd
Você pode editar o arquivo de configuração do vsftpd, /etc/vsftpd.conf
, para modificar as configurações padrões. Por padrão apenas FTP anônimo é permitido. Se você deseja desabilitar essa opção, você deve modificar a seguinte linha:
anonymous_enable=YES
para
anonymous_enable=NO
Por padrão, os usuários locais do sistema não tem permissão para fazer login no servidor FTP. Para modificar essa configuração, você deve descomentar a seguinte linha:
#local_enable=YES
Por padrão, usuários tem permissão para descarregar arquivos do servidor FTP. Eles não tem permissão para enviar arquivos para o servidor FTP. Para modificar essa configuração, você deve descomentar a seguinte linha:
#write_enable=YES
Similarmente, por padrão, os usuários anônimos não tem permissão para enviar arquivos para o servidor FTP. Para modificar essa configuração, você deve descomentar a seguinte linha:
#anon_upload_enable=YES
O arquivo de configuração é formado por vários parâmetros de configuração. As informações sobre cada parâmetro estão disponíveis no arquivo de configuração. Alternativamente, você pode consultar a página do manual, man 5 vsftpd.conf para um melhor detalhamento de cada parâmetro.
Uma vez configurado o vsftpd você pode iniciar o serviço usando o seguinte comando:
sudo /etc/init.d/vsftpd start
Note que os valores padronizados no arquivo de configuração estão ajustados da forma que estão por motivos de segurança. Cada uma das modificações feitas acima deixa o sistema cada vez menos seguro, portanto use-as somente se forem realmente necessárias.