Todos os produtos
Search
Central de documentação

Simple Application Server:Configurar um servidor FTP (Linux)

Última atualização: Jul 03, 2026

O Very Secure FTP Daemon (vsftpd) é um servidor FTP leve para Linux. Este tópico explica como instalar e configurar o vsftpd em um Simple Application Server baseado em Linux e verificar a conexão com o FileZilla.

Nota

O FTP transmite dados, incluindo credenciais, em texto simples. Para cargas de trabalho de produção que exigem criptografia, use SFTP ou FTPS. Este guia aborda o vsftpd apenas 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 as 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, pois funciona melhor em firewalls e NAT.

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

Modo

Segurança

Descrição

Modo de usuário anônimo

Mais baixa

Não requer nome de usuário ou senha. Adequado apenas para transferências públicas de arquivos. Evite em produção.

Modo de usuário local

Média

Autentica com base nos usuários locais do Linux. Abordado neste guia.

Modo de usuário virtual

Mais alta

Usa usuários virtuais isolados do sistema. Requer configuração avançada.

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

Etapa 1: Instalar o vsftpd

  1. Conecte-se ao seu servidor Linux.

  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

    Caso o vsftpd já esteja instalado, obtenha as credenciais de FTP na documentação da imagem da aplicação e pule para a Etapa 3: Abrir portas no firewall.

  3. Instale o vsftpd. Este exemplo usa o CentOS 7. Para outras distribuições, consulte Criar um site FTP em uma instância ECS.

    sudo yum install -y vsftpd

    Uma mensagem de sucesso confirma a instalação.

  4. Configure 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 serviço falhar ao iniciar com o erro Job for vsftpd.service failed because the control process exited with error code, a porta 21 pode estar em uso. Execute lsof -i:21 para identificar o processo e execute kill -9 <PID> para interrompê-lo antes de reiniciar o vsftpd.

  6. Verifique se o vsftpd está em execução:

    sudo netstat -antup | grep ftp

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

Etapa 2: Configurar o modo de acesso

Escolha um dos modos a seguir. O modo de usuário local é recomendado para 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 inserir e confirmar 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 editar:

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

    Nota

    Se você instalou o vsftpd com apt install vsftpd, o arquivo de configuração estará 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 à direita. 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 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 salvar e fechar.

  9. Crie o arquivo da lista de isenção de chroot. Os usuários listados aqui não ficam restritos ao diretório inicial. 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 isenções. Pressione Esc, digite :wq e pressione Enter para salvar e fechar.

  10. Pare o firewall do sistema. O vsftpd gerencia 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 no final do arquivo e defina como yes. Pressione Esc, digite :wq! e pressione Enter para salvar e fechar.

  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-o apenas para transferências públicas de arquivos em ambientes fora de produção.

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

    Nota

    Se você instalou o vsftpd com apt install vsftpd, o arquivo de configuração estará 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 padrões exatos variam conforme a distribuição Linux. Verifique se ambos os valores estão definidos como YES após a edição. Certifique-se de que nenhuma dessas linhas esteja comentada com # e evite espaços à direita. /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 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 salvar e fechar.

  4. Conceda permissões de gravação 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. O modo passivo requer a porta 21 e o intervalo de portas passivas. Consulte Gerenciar um firewall para obter instruções.

Tipo de aplicação

Protocolo

Intervalo de portas

FTP

TCP

21

Personalizado

TCP

pasv_min_portpasv_max_port (exemplo: 50000/50010)

Após adicionar as regras, elas aparecem na página Firewall:

image.png

Etapa 4: Verificar a conexão FTP

Use o FileZilla para confirmar se o servidor FTP está acessível.

Nota

Este exemplo usa o FileZilla 3.64.0. A interface pode variar 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

    Um 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 do FTP.

  5. Clique em Connect.

Após a conexão, use o FileZilla para fazer upload, download ou excluir arquivos. A interface divide-se 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 de diretórios 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 acesso FTP negado (lista de bloqueios).

  • /etc/vsftpd/user_list: usuários neste arquivo têm 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 inicial para usuários anônimos.

local_enable=YES

Aceita usuários locais.

local_root=

Diretório inicial 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 excluam arquivos.

chown_username=lightwiter

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