Criando um servidor FTP no Linux com ProFTPD

Share:




File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de transferir arquivos (também conhecidos como ficheiros), sendo uma das mais usadas na Internet. A transferência de dados em redes de computadores envolve normalmente transferência de arquivos e acesso a sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais). Ela ainda é muito utilizado por desenvolvedores que queiram fazer  o upload de arquivos em servidores remotos ou até mesmo por equipamentos como relógios de ponto, impressoras ou scanners de rede.

Vou abordar neste tutorial a instalação do ProFTPD, um servidor FTP muito simples, versátil e seguro.

Instalando o ProFTPD

Primeiramente vamos efetuar a instalação do software


Debian 7 Wheezy / Debian 8 Jessies

# sudo apt-get install proftpd openssl


Fedora, OpenSUSE, CentOS/RHEL 7

# yum install -y proftpd openssl proftpd-utils


Durante a instalação, ele irá perguntar o modo de operação do servidor FTP, selecione o método "Autonomo"




Configurando e habilitando o serviço no CentOS e Red Hat 7


O CentOS vem por default com o Firewall bloqueando todos os serviços externos e desabilitando os serviços na inicialização do sistema, obrigando o administrador a startar os mesmos manualmente, por isso vamos habilitar o serviço para iniciar automático junto com o sistema e permitir o acesso externo a ele.


Iniciando o serviço e habilitando a inicialização automática

# systemctl start proftpd.service
# systemctl enable proftpd.service


Habilitando o serviço no Firewall

# firewall-cmd --add-service=ftp --permanent
# firewall-cmd --reload



Configurando o serviço 

Criando os usuários e grupos do FTP

Edite o arquivo /etc/proftpd/proftpd.conf

# vim /etc/proftpd/proftpd.conf

E procure pelas linhas User e Group e altere seus valores para:



O importante aqui é definir o grupo. Vamos criar um grupo chamado ftpgroup mais tarde e um usuário com senha e sem shell para acessarmos o serviço externamente com segurança.


Agora vamos definir a pasta padrão do FTP. Para isso, vamos buscar pela linha "Default Root" e descomenta-la, restringindo o acesso somente para a pasta /var/www/, deixando semelhante a abaixo:

# Use this to jail all users in their homes
DefaultRoot                     /var/www/

E configurar a porta do serviço para a 21, troque caso ache necessário

# Port 21 is the standard FTP port.
Port                            21



Lembrando que o diretório é opcional, apontei para a pasta /var/www pensando em um servidor Web.
Você pode ter vários sites rodando no seu FTP, e querer criar um usuário FTP para cada, para que cada cliente só possa acessar o seu próprio diretório. Para isso, basta colocar na DefaultRoot o caractere "~" que representa a home do usuário, e criar um usuário com a opção -d apontando para o diretório que se deseja compartilhar.




Agora vamos reiniciar o serviço 

# service proftpd restart

Criando o Grupo FTP e Adicionando um Usuário

 Edite o arquivo /etc/shells e adicione a linha /bin/false

# vim /etc/shells




Crie um grupo chamado "ftpgroup" e após crie um usuário e o adicione a este grupo.

# groupadd ftpgroup

Agora vamos criar um usuário no grupo groupftp e apontar sua home para a pasta do apache, fazendo assim com que ele se conecte apenas com a pasta /var/www/


# useradd USUARIODOFTP -s /bin/false -d /var/www/ -G ftpgroup
# passwd USUARIODOFTP




Agora pelo Filezilla, ou qualquer cliente FTP, digite o IP do servidor com o usuário e senha que definimos. 


:)

4 comentários:

  1. Rapaz comecei a seguir o seu blog e realmente é muito bom o trabalho que você vem fazendo, cada dia excelentes artigos, principalmente de serviços de redes no linux. parabéns

    ResponderExcluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Mais um aluno chegando! Com licença!!

    ResponderExcluir