Vamos apresentar como instalar e configurar um servidor FTP em uma máquina Linux.

Nesse caso, estamos usando Ubuntu como sistema operacional e o servidor FTP ProFTPD.
Instalação do Servidor FTP
Vamos usar o comando abaixo para instalar o servidor FTP.
sudo apt install proftpd

Depois de instalado o servidor FTP, vamos testar para verificar se está operacional. Para isso, vamos usar o comando abaixo.
ftp localhost

Muito bem, o servidor FTP está instalado e podemos iniciar a configuração.
Configurando o Servidor FTP no Linux
Agora, vamos procurar o arquivo de configuração do servidor de FTP Proftpd. O arquivo de configuração do Proftpd fica no caminho “/etc/proftpd/proftpd.conf
“.
O arquivo é o proftpd.conf e especifica os parâmetros de configuração do servidor.
Vamos usar o comando abaixo para editar o arquivo e começar a entender suas configurações.
sudo nano /etc/proftpd/proftpd.conf

A primeira linha aponta para o arquivo de configurações relacionadas aos módulos.

A linha abaixo informa que o servidor FTP pode usar o IPv6. Caso opte por não usar IPv6 podemos comentar a linha com “#”.

A figura abaixo pode ser usada para identificar o usuário remoto ( IdentLookups ). Pode ser interessante ter o IdentLookups marcado como on em algumas configurações. No entanto, vale ressaltar que essa configuração provoca atraso.

Em seguida temos a configuração do nome do servidor. Esse nome será apresentado ao usuário quando fizer login no servidor FTP. Podemos alterar o nome para o nome do nosso servidor ou nome da empresa.

A figura abaixo apresenta algumas configurações que vamos detalhar.

DeferWelcome = Esconde informações como nome e endereços até que haja autenticação. Podemos testar essa configuração mudando o “off” por “on”.
Depois de alterar, vamos reiniciar o servidor FTP com o comando abaixo.
sudo service proftpd restart

ServerType = Apresenta 2 possibilidades: standalone = o daemon inicia e começa a escutar na porta configurada para conexões. Criando processos filhos para atender as solicitações dos clientes. E também podemos usar a opção inetd = o daemon espera ser executado/gerenciado através do “Super Server” inetd.
MultilineRFC2228 = Habilita formatação de mensagens de respostas compatíveis com a maioria dos navegadores e clientes FTP.
DefaultServer = Indica que será o servidor FTP padrão do sistema recebendo todas as conexões FTP.
ShowSymlinks = Permite mostrar os links simbólicos nas listagens de arquivos/diretórios.
TimeoutNoTransfer = Limite de tempo, após a conexão, para que um cliente envie algum comando.
TimeoutStalled = Limite de tempo para transferências interrompidas.
TimeoutIdle = Limite de tempo para que o cliente envie algum comando (de controle ou dados) .
DisplayLogin = Apresenta uma mensagem assim que o usuário faz login no servidor FTP. O arquivo com a mensagem pode ser criado dentro do diretório do usuário como por exemplo “/home/joao/welcome.msg “. Vamos alterar e testar a configuração?
Depois de alterar, vamos reiniciar o servidor FTP com o comando abaixo.
sudo service proftpd restart

DisplayChdir = Pode ser usado para apresentar um nome de arquivo sempre que o usuário se locomover de um diretório.
ListOptions = Específica as regras nas listagens de arquivos como por exemplo um arquivo por linha, as entradas em colunas.
DenyFilter = Proíbe argumento de comando. Nesse caso, são os argumentos que estão dentro de ” “.
DefaultRoot = Não permite que o usuário navegue abaixo de seu diretório raiz, por exemplo “/home/meu_diretorio”.
RequireValidShell = Restringe o uso para apenas shells conhecidos.
Port = Especificar a porta que será usada para conexão inicial e controle. Podemos alterar e testar.

Depois de alterar, lembrar de reiniciar o servidor FTP.
PassivePorts = Especificar as portas que serão usadas para transferência de dados. Nesse caso, essas portas são usadas no modo passivo. Podemos alterar e testar.
MaxInstances = Limita o número máximo de processos filhos do proftpd. Cada conexão de cliente equivale a um processo filho. Dessa forma, essa configuração restringe o número de clientes logados ao mesmo tempo. Podemos testar.

Terminamos aqui a instalação e configuração do servidor FTP Proftpd.
Veja mais:
Instalar Packet Tracer em Linux

Juliana Mascarenhas
Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer
Gerenciadores de Pacotes em Python: Guia Completo sobre Pip e Conda para Iniciantes
Quando começamos a programar em Python, um dos primeiros desafios é gerenciar as bibliotecas (ou…
O que é CGNAT ?
O CGNAT na maioria das vezes utiliza o intervalo de endereços IP reservado para uso…
Tutorial: Como usar o WHOIS ou RDAP
O serviço WHOIS ou RDAP é uma ferramenta essencial para obter informações sobre domínios, IP…
Tutorial servidor de email com Postfix e Dovecot
Esse é um tutorial que vai apresentar uma configuração básica de um servidor de email…
Tutorial Instalar VNC em Linux Ubuntu
O acesso remoto é uma ferramenta indispensável para administradores e usuários que precisam gerenciar servidores…
Tutorial: Instale seu Servidor DNS no Linux com Bind9 Passo a Passo
Nesse tutorial vamos dar todo o passo a passo para que você instale uma configuração…