Traduções: English - Français - Português (Brasil) - Русский
Contents
Instalando e configurando o servidor FTP vsftpd.
Introdução
Este artigo tem como objetivo detalhar os passos para configurar um servidor FTP de compartilhamento de arquivos, usando o vsftpd (Serviço de FTP Muito Seguro - Very Secure FTP Daemon).
Instalação
Como de costume, a instalação é muito simples com o apt. Como root rode:
apt install vsftpd
Após a instalação, o servidor é iniciado automaticamente e escuta na porta TCP 21 por padrão.
Você pode verificar isso no netstat:
# netstat -npl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 22468/vsftpd
Se o seu host não tiver um firewall, recomenda-se interromper o vsftpd antes de configurá-lo.
/etc/init.d/vsftpd stop
Configuração
O arquivo de configuração para este servidor fica em /etc/vsftpd.conf. Você pode encontrar arquivos de configuração de exemplo em /usr/share/doc/vsftpd/EXAMPLE.
O arquivo de configuração possui três tipos de opções:
- OPÇÕES BOOLEAN - pode ser YES ou NO;
- OPÇÕES NUMÉRICAS - por exemplo: tempo em segundos, número da porta;
OPÇÕES TEXTO - caminho para o diretório ou arquivo /var/run/vsftpd/.
Se certas opções não estiverem presentes no arquivo de configuração, o servidor usará os parâmetros padrão (veja man vsftpd.conf).
Acesso anônimo
Por padrão, conexões anônimas não são aceitas.
Se você habilitar isso, somente o acesso ao diretório /srv/ftp/ será permitido:
anonymous_enable=YES
Para ativar o upload anônimo, defina:
anon_upload_enable - permite uploads de arquivos de usuários anônimos (sob certas condições).
anon_mkdir_write_enable - permite a criação de diretório.
anon_root=/data/directory - permite alterar o diretório padrão.
Para ativar as alterações de dono de arquivo, defina:
chown_uploads=YES chown_username=username
Controle de acesso do usuário
O acesso está habilitado para usuários locais autorizados por padrão. Para desabilitar:
local_enable=NO
Para ativar o acesso de gravação:
write_enable=YES
Gerenciamento de usuários
Contenção de usuários
As contas de usuários podem acessar arquivos de todo o sistema, o que nem sempre é desejável e pode ajudar a comprometer a máquina, eles podem ser confinados alterando vsftpd.conf:
chroot_local_user=YES
A pasta do seu FTP será seu diretório pessoal /home/nome_de_usuário.
No entanto, uma conta pode ser usada para conectar-se para fora do ftp: ssh, getty (login do terminal) são exemplos. Ele ainda terá acesso ao resto do sistema pela linha de comando. Você pode configurar os serviços fornecidos como exemplos para bloquear a conta ou para contê-la, mas a principal solução é desabilitar a linha de comando para o usuário.
Para isso, atribuímos o interpretador de comandos do usuário para false, um binário simples que retorna um sinal de erro:
usermod -s /bin/false
Então, você precisa adicionar false à lista de interpretadores de comandos:
echo /bin/false >> /etc/shells
Veja também:
http://vsftpd.beasts.org/ - site oficial
http://vsftpd.beasts.org/vsftpd_conf.html - documentação do arquivo de configuração do vsftpd
FixMe: página desatualizada.
