Todos os produtos
Search
Central de documentação

Simple Application Server:Set up an FTP server (Linux)

Última atualização: Sep 21, 2026

O Very Secure FTP Daemon (vsftpd) é um servidor FTP leve para Linux. Este tópico apresenta o passo a passo para instalar e configure o vsftpd em um Simple Application Server baseado em Linux e verifique a conexão usando o FileZilla.

Nota

O FTP transmite dados — incluindo credenciais — em texto simples. Para cargas de trabalho em produção que exigem criptografia, considere usar SFTP ou FTPS. Este guia aborda o vsftpd para casos de uso em que o FTP é um requisito específico.

Pré-requisitos

Antes de começar, verifique se você tem:

Modos de conexão e autenticação FTP

O FTP opera em dois modos de conexão:

  • Modo ativo: o cliente envia suas informações de porta ao servidor, e o servidor inicia a conexão de dados.

  • Modo passivo: o servidor abre uma porta e envia as informações da porta ao cliente, que então inicia a conexão. Este guia configura o modo passivo, que funciona melhor em ambientes com firewalls e NAT.

O FTP suporta três modos de autenticação:

Modo

Segurança

Descrição

Modo de usuário anônimo

Menor

Não exige nome de usuário nem senha. Adequado apenas para transferências de arquivos públicos. Evite em produção.

Modo de usuário local

Média

Autentica usando usuários locais do Linux. Abordado neste guia.

Modo de usuário virtual

Maior

Utiliza usuários virtuais isolados do sistema. Requer configuração especializada.

Este guia aborda o modo de usuário local (recomendado) e o modo de usuário anônimo.

Etapa 1: Instalar o vsftpd

  1. Connect to your Linux server.

  2. Verifique se o vsftpd já está instalado. Alguns servidores implantados com imagens de aplicação incluem o vsftpd pré-instalado — reinstalá-lo pode causar conflitos.

    vsftpd -v

    Se a saída exibir um número de versão, o vsftpd já está instalado:

    vsftpd: version 3.0.2

    Se o vsftpd já estiver instalado, obtenha as credenciais FTP na documentação da imagem de aplicação e vá direto para Etapa 3: Abrir portas no firewall.

  3. Instale o vsftpd. Este exemplo usa CentOS 7. Para outras distribuições, consulte Build an FTP site on an ECS instance.

    sudo yum install -y vsftpd

    Uma mensagem de êxito confirme a instalação.

    Installed:
      vsftpd.x86_64 0:3.0.2-28.el7
    Complete!
  4. Ative o vsftpd para iniciar automaticamente na inicialização do sistema:

    sudo systemctl enable vsftpd.service
  5. Inicie o vsftpd:

    sudo systemctl start vsftpd.service
    Nota

    Se o service não iniciar com o erro Job for vsftpd.service failed because the control process exited with error code, a porta 21 pode já estar em uso. Execute lsof -i:21 para identificar o processo e, em seguida, execute kill -9 <PID> para encerrá-lo antes de reiniciar o vsftpd.

  6. Confirme que o vsftpd está em execução:

    sudo netstat -antup | grep ftp

    Se a porta do service FTP aparecer na saída, o vsftpd está em execução.

    [root@iZbp166dsac66txo49xxx ~]# netstat -antup | grep ftp
    tcp6       0      0 :::21                   :::*                    LISTEN      53730/vsftpd

Etapa 2: Configure o modo de acesso

Escolha um dos modos a seguir. O modo de usuário local é recomendado por oferecer maior segurança.

Modo de usuário local (recomendado)

  1. Crie um usuário Linux dedicado para acesso FTP. Este exemplo usa ftptest.

    sudo adduser ftptest
  2. Defina uma senha para o usuário:

    sudo passwd ftptest

    Siga as instruções para insira e confirme a senha.

  3. Crie o diretório FTP:

    sudo mkdir /var/ftp/test
  4. Atribua a propriedade do diretório ao usuário ftptest:

    sudo chown -R ftptest:ftptest /var/ftp/test
  5. Faça backup do arquivo de configuração do vsftpd antes de edite-o:

    sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  6. Abra o arquivo de configuração para edite:

    Nota

    Se você instale o vsftpd com apt install vsftpd, o arquivo de configuração está em /etc/vsftpd.conf.

    sudo vim /etc/vsftpd/vsftpd.conf

    Pressione i para entrar no modo de edição.

  7. Atualize os parâmetros a seguir. Certifique-se de que nenhuma dessas linhas esteja comentada com # e evite espaços no final das linhas — espaços extras fazem o vsftpd falhar ao reiniciar. /etc/vsftpd/vsftpd.conf

    # Disable anonymous login
    anonymous_enable=NO
    # Allow local users to log in
    local_enable=YES
    # Listen on IPv4
    listen=YES

    Comente o listener IPv6 adicionando # no início da linha:

    #listen_ipv6=YES
  8. Adicione os parâmetros a seguir ao final do arquivo. Substitua 39.105.xx.xx pelo endereço IP público do seu servidor. /etc/vsftpd/vsftpd.conf

    # Set the home directory for local users after login
    local_root=/var/ftp/test
    # Restrict users to their home directory
    chroot_local_user=YES
    # Enable a list of users exempt from the chroot restriction
    chroot_list_enable=YES
    # Path to the exemption list file
    chroot_list_file=/etc/vsftpd/chroot_list
    # Enable passive mode
    pasv_enable=YES
    allow_writeable_chroot=YES
    # Public IP address of the server
    pasv_address=39.105.xx.xx
    # Passive mode port range (high-numbered ports reduce exposure)
    pasv_min_port=50000
    pasv_max_port=50010

    Pressione Esc, digite :wq e pressione Enter para salve e fechar o arquivo.

  9. Crie o arquivo de lista de exceções do chroot. Os usuários listados nele não ficam restritos ao diretório home. O arquivo é obrigatório mesmo que esteja vazio.

    sudo vim /etc/vsftpd/chroot_list

    Pressione i para entrar no modo de edição. Adicione os nomes de usuário isentos, um por linha (deixe o arquivo em branco se não houver exceções). Pressione Esc, digite :wq e pressione Enter para salve e fechar.

  10. Pare o firewall do sistema. O vsftpd gerencie o acesso às portas pelo firewall do Simple Application Server configurado na Etapa 3.

     sudo systemctl stop firewalld
  11. Ative a autenticação por senha na configuração SSH:

     sudo vi /etc/ssh/sshd_config

    Localize PasswordAuthentication ao final do arquivo e defina o valor como yes. Pressione Esc, digite :wq! e pressione Enter para salve e fechar.

    # Accept locale-related environment variables
    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
    AcceptEnv XMODIFIERS
    # Override the default of no subsystems
    Subsystem sftp /usr/libexec/openssh/sftp-server
    # Example of overriding settings on a per-user basis
    #Match User anoncvs
    # X11Forwarding no
    # AllowTcpForwarding no
    # PermitTTY no
    # ForceCommand cvs server
    UseDNS no
    AddressFamily inet
    SyslogFacility AUTHPRIV
    PermitRootLogin yes
    PasswordAuthentication yes
  12. Reinicie o vsftpd para aplicar todas as alterações:

     sudo systemctl restart vsftpd.service

Modo de usuário anônimo

Importante

O modo anônimo permite que qualquer pessoa se conecte sem senha. Use este modo apenas para transferências de arquivos públicos em ambientes que não sejam de produção.

  1. Abra o arquivo de configuração do vsftpd:

    Nota

    Se você instale o vsftpd com apt install vsftpd, o arquivo de configuração está em /etc/vsftpd.conf.

    sudo vim /etc/vsftpd/vsftpd.conf

    Pressione i para entrar no modo de edição.

  2. Defina os parâmetros a seguir. Os valores padrão variam conforme a distribuição Linux — confirme que ambos estão definidos como YES após a edição. Certifique-se de que nenhuma dessas linhas esteja comentada com # e evite espaços no final das linhas. /etc/vsftpd/vsftpd.conf

    anonymous_enable=YES
    anon_upload_enable=YES
    listen=YES
    listen_ipv6=NO
  3. Adicione os parâmetros a seguir ao final do arquivo. Substitua 39.105.xx.xx pelo endereço IP público do seu servidor. /etc/vsftpd/vsftpd.conf

    # Enable passive mode
    pasv_enable=YES
    # Passive mode port range
    pasv_min_port=50000
    pasv_max_port=50010
    # Public IP address of the server
    pasv_address=39.105.xx.xx

    Pressione Esc, digite :wq e pressione Enter para salve e fechar.

  4. Conceda permissões de escrita no diretório FTP padrão (/var/ftp/pub):

    sudo chmod o+w /var/ftp/pub/
  5. Reinicie o vsftpd:

    sudo systemctl restart vsftpd.service

Etapa 3: Abrir portas no firewall

Adicione regras de entrada no firewall do Simple Application Server para permitir o tráfego FTP. No modo passivo, são necessárias a porta 21 e o intervalo de portas passivas. Consulte Manage a firewall para obter instruções.

Tipo de aplicação

Protocolo

Intervalo de portas

FTP

TCP

21

Custom

TCP

pasv_min_port–pasv_max_port (exemplo: 50000/50010)

As regras de firewall estão configuradas.

Etapa 4: Verifique a conexão FTP

Use o FileZilla para confirme que o servidor FTP está acessível.

Nota

Este exemplo usa o FileZilla 3.64.0. A interface pode ser diferente em outras versões.

  1. Abra o FileZilla.

  2. Acesse File > Site Manager.

  3. Clique em New site (N) no canto inferior esquerdo da caixa de diálogo Site Manager.

  4. Insira um nome para o novo site e configure a conexão:

    filezilla

    Parâmetro

    Valor

    Name

    Nome personalizado para o site. Exemplo: test-01.

    Protocol

    FTP

    Host

    Endereço IP público do servidor (exemplo: 121.43.XX.XX)

    Port

    21

    Logon type

    Anonymous (para modo anônimo) ou Normal (para modo de usuário local)

    Para o modo de usuário local, defina Logon type como Normal e insira o nome de usuário e a senha FTP.

  5. Clique em Connect.

Após conectar, use o FileZilla para fazer upload, baixe ou exclua arquivos. A interface é dividida em quatro seções:

filezilla

Seção

Descrição

①

Status da conexão, comandos e resultados das tarefas

②

Máquina local: listagem de diretórios e arquivos

③

Servidor remoto: listagem do diretório FTP. No modo anônimo, o diretório padrão é /pub.

④

Fila de transferência e logs de tarefas

Referência de configuração do vsftpd

O diretório /etc/vsftpd contém três arquivos principais:

  • /etc/vsftpd/vsftpd.conf: arquivo de configuração principal

  • /etc/vsftpd/ftpusers: usuários neste arquivo têm o acesso FTP negado (lista de bloqueios)

  • /etc/vsftpd/user_list: usuários neste arquivo têm o acesso FTP permitido (lista de permissões)

Parâmetros de controle de login

Parâmetro

Descrição

anonymous_enable=YES

Aceita usuários anônimos

no_anon_password=YES

Ignora a solicitação de senha para usuários anônimos

anon_root=

Diretório home para usuários anônimos

local_enable=YES

Aceita usuários locais

local_root=

Diretório home para usuários locais

Parâmetros de permissão

Parâmetro

Descrição

write_enable=YES

Permite que todos os usuários façam upload de arquivos

local_umask=022

Máscara de permissão de arquivo para uploads de usuários locais

file_open_mode=0666

Aplica a umask às permissões dos arquivos enviados

anon_upload_enable=NO

Permite que usuários anônimos façam upload de arquivos

anon_mkdir_write_enable=NO

Permite que usuários anônimos criem diretórios

anon_other_write_enable=NO

Permite que usuários anônimos modifiquem ou exclua arquivos

chown_username=lightwiter

Proprietário atribuído aos arquivos enviados por usuários anônimos