17.07.2025

O que é FTP e como configurar um servidor no Linux?

FTP (File Transfer Protocol) é um protocolo de rede criado para transferir arquivos entre um cliente e um servidor. Apesar do surgimento de soluções mais modernas como SFTP e SCP, o FTP ainda é amplamente utilizado para organizar trocas simples de arquivos dentro de uma rede ou com usuários externos.

Neste artigo, vamos mostrar como instalar e configurar um servidor FTP em um sistema Linux usando o popular servidor vsftpd.

Instalando o vsftpd

O FTP pode ser útil em casos onde é necessário organizar um armazenamento centralizado com acesso para diferentes usuários. É fácil de configurar e manter, sendo compatível com a maioria dos sistemas operacionais e clientes FTP. Em ambientes corporativos, o FTP é frequentemente utilizado para troca de relatórios, logs e outros arquivos que não contenham informações sensíveis.

O servidor FTP mais comum e seguro para Linux é o vsftpd (Very Secure FTP Daemon). Ele é estável, eficiente e consome poucos recursos. O pacote pode ser instalado via o gerenciador de pacotes padrão: apt para Debian/Ubuntu ou yum/dnf para CentOS/RHEL.

apt update && apt upgrade -y &&\
apt install vsftpd -y

Screenshot nº 1 — Instalação

Para sistemas com gerenciadores baseados em RPM:

dnf update && dnf install vsftpd -y

Após a instalação, o serviço é iniciado automaticamente e pode ser configurado no arquivo /etc/vsftpd.conf. Por exemplo, vamos configurar a autenticação via PAM e definir os direitos dos usuários. Importante: o uso de FTP com usuários anônimos pode representar riscos de atividades não autorizadas.

nano /etc/vsftpd.conf

Configuração do servidor:

listen=YES
listen_ipv6=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

Explicação das opções:

Em seguida, vamos configurar a autenticação via PAM:

nano /etc/pam.d/vsftpd

Screenshot nº 2 — Configuração PAM

A listagem mostra que, se o login estiver na lista de usuários proibidos, a conexão será negada inicialmente, antes da autenticação padrão do UNIX.

Screenshot nº 3 — Conexão negada

Você também pode adicionar sua própria lista de usuários proibidos ou modificar os métodos de autenticação no arquivo /etc/pam.d/vsftpd. Após aplicar as alterações, reinicie o serviço:

systemctl restart vsftpd

Por padrão, o FTP não criptografa os dados, incluindo logins e senhas. Para aumentar o nível de segurança, recomenda-se ativar o FTPS (FTP Secure) — FTP sobre TLS. Para isso, é necessário gerar um certificado SSL ou utilizar um existente. Depois, basta ativar o SSL no arquivo de configuração e informar os caminhos do certificado e da chave.

Trabalhando com clientes FTP

A conexão com o servidor FTP pode ser feita via linha de comando (ftp, lftp) ou com clientes gráficos como o FileZilla. O usuário só precisa saber o IP do servidor, o nome de usuário e a senha.

apt install ftp -y

Para conectar, utilize o seguinte formato:

ftp ftp://usuario:senha@endereco_ip:21/

Screenshot nº 4 — Conexão

Ao usar FTPS, o cliente também deve ativar a criptografia, se os certificados estiverem disponíveis.

O FTP continua sendo uma ferramenta popular para transferência de arquivos, especialmente em redes locais ou em automações de troca de dados. Configurar um servidor FTP no Linux com o vsftpd é um processo simples, que oferece uma maneira flexível e confiável de organizar o acesso a arquivos. No entanto, é fundamental ficar atento à segurança e ativar criptografia ao operar em redes abertas.