terça-feira, 6 de outubro de 2015

Criando um servidor FTP no Linux com ProFTPD





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. 


:)

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

2 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

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com