Um dos servidores de FTP mais utilizados no Linux é o Proftpd. Não se deve esquecer de que o protocolo FTP trasnmite todas as informações de forma não encriptada, como texto puro, incluindo os logins e senhas. O servidor aceita conexões remotas usando os logins dos usuários cadastrados na máquina.
1- Instalar o proftpd
# apt-get install proftpd
Existem duas formas de funcionamento do servidor: modo standalone ou modo inetd.
a) Modo standalone: quando uma aplicação ou serviço é executada a partir de seu próprio deamon. O standalone é mais seguro e mais rápido, enquanto o inetd faz com que ele fique ativo apenas quando acessado, economizando significativos 400 KB de memória RAM.
b) Modo inetd: é utilizado para realizar a iniciação de serviços, ou seja o usuário executa o inetd e ele por sua vez executa todos os serviços que foram configurados para inicialização a partir do inet. O inetd é normalmente inicializado quando o sistema é inicializado. O inetd recebe uma lista de serviços a serem monitorados a partir de um arquivo de configuração denominado /etc/inetd.conf.
Inetd, uma abreviatura para “internet deamon”, é conhecido como o superdaemon, porque inicializa vários outros servidores do sistema.
2- Configurar o proftpd
A configuração manual do servidor FTP é feita através do arquivo “/etc/proftpd/proftpd.conf”. Sempre que se fizer alterações no arquivo, o servidor deve ser reiniciado para que elas entrem em vigor. Para isso, use o comando:
#/etc/init.d/proftpd restart
Verifique as configurações em /etc/proftpd/proftpd.conf:
3- Usuáros virtuais
Em distribuições Debian (derivadas), é necessário adicionar a linha “/bin/false” no final do arquivo /etc/shells para que se possibilite inibir os usuários ftp de executar comandos shell (fazendo o que não deve no servidor):
#echo “/bin/false” >> /etc/shells
Supondo que o site http://www.teste.com.br existe em seu provedor, e seu DocumentRoot seja /var/www/teste. Assim, execute:
#adduser --home /var/www/teste --shell /bin/false --no-create-home teste
A opção “–no-create-home” evita que o sistema copie os arquivos do diretório “/etc/skel” (como os arquivos .bashrc, .bash_logout, .profile e outros) para dentro da pasta de arquivos, “sujando” o diretório. Ao terminar, não se esqueça de alterar as permissões da pasta, de forma que o usuário tenha permissão de escrita:
#chown -R teste:teste /var/www/teste
Obs: se precisar deletar o usuário, use:
# userdel -r web5 ; neste caso estamos deletando o usuário web5 e apagando o conteúdo de sua área.
4- Acesso root usando ftp
Quando o servidor ftp é instalado, o default é ter o acesso root desabilitado. Por segurança, isto deve ser preservado. Entretanto, se necessitar em algum momento fazer acesso ftp diretamente como usuário root, duas coisas devem ser providenciadas:
a) Retirar o usuário “root” das lista de usuários desabilitados a fazer ftp: edite o arquivo /etc/ftpusers
e retire o usuário root.
b) Habilitar o login como root: editar o arquivo /etc/proftpd/proftpd.conf
e adicionar:
RootLogin on
fonte: https://concani3.wordpress.com/2011/10/12/servidor-de-ftp-proftpd-no-linuxdebian-com-usuarios-virtuais/