Posts com Tag ‘ftp’

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:

  • UseIPv6 off                   ; caso não tenha configurado a rede para IPV6
  • Port 21                           ; porta 21 é a default para FTP. Altere se desejar.
  • DefaultRoot    ~           ; acrescentar esta linha se desejar que os usuários só tenham acesso a área de suas contas.

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

5- Referencias:
Instalando um servidor FTP no Linux