O protocolo FTP está entre as soluções mais populares para upload e download de arquivos. Neste tutorial, você aprenderá como configurar o seu próprio servidor FTP no Ubuntu. Detalhamos os pontos essenciais desse processo.

Instalar servidor FTP no Ubuntu

Antes de iniciar a configuração do seu servidor FTP, você deve escolher o software adequado. O sistemas operacional Ubuntu, também na versão 22.04, já inclui no gerenciador de pacotes o vsftpd, solução pronta para uso. Para instalá-lo, abra o terminal e execute o seguinte comando:

sudo apt-get install vsftpd
bash
Imagem: Instalação do vsftpd no terminal do Ubuntu 22.04
Os direitos de root ou de administrador (sudo) são um requisito básico para a instalação do vsftpd no Ubuntu.
Dica

Se você precisa armazenar ou transferir dados, garanta que eles sejam tratados da forma mais segura possível contratando um dos servidores FTP de segurança máxima da IONOS: suporte SSH, SSL/TLS e backups diários.

Pré-requisitos de hardware para Ubuntu FTP server

O hardware a ser utilizado tem deve ser escolhido conforme o objetivo do servidor FTP Ubuntu 22.04 que você deseja configurar. Para garantir uma conexão estável com a internet, recomendamos a contratação da infraestrutura de um provedor profissional, como da IONOS. Ela oferece servidores virtuais (VPS) e servidores dedicados, que são ideais para hospedar servidores FTP robustos.

A tabela abaixo apresenta três possibilidades de uso de um servidor FTP Ubuntu e o plano IONOS mais adequado a cada um deles:

Uso do servidor FTP Ubuntu Plano IONOS recomendado
Servidor FTP simples; transferência esporádica de dados VPS Linux M
Servidor FTP corporativo de grande porte; transferências regulares VPS Linux XL
Servidor FTP público com transferência contínua de dados Dedicated Server AR6-32 SSD
vServer (VPS) da IONOS

Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.

  • Armazenamento 100% SSD
  • Pronto em 55 segundos
  • Certificado SSL

Passo a passo: Configurar Ubuntu FTP server

Concluída a instalação, feche o terminal e comece a configurar o seu servidor FTP. Para isso, abra o arquivo de configuração vsftpd.conf, localizado no diretório etc.

Imagem: Arquivos disponíveis no diretório etc do arquivo de configuração
No diretório “/etc”, você encontrará vários arquivos de configuração e informações, como o vsftpd.conf

Para editar o arquivo de configuração do seu servidor FTP Ubuntu, utilize um editor de texto simples. O sistema operacional já inclui, por padrão, o gedit, editor GNOME.

O conteúdo do arquivo se divide em duas partes:

  • Linhas iniciadas com o símbolo # são comentários, não sendo interpretadas pelo servidor vsftpd. Essas linhas podem conter explicações sobre as opções de configuração ou sobre as funções desativadas.
  • Linhas sem # contêm as informações que o servidor utilizará, de fato, na configuração.
Imagem: Exemplo do arquivo vsftpd.conf
As hashtags não são apenas sinais para o servidor vsftpd, mas também ajudam a compreender e otimizar a legibilidade do arquivo.

Não há um padrão único para configurar um servidor FTP no Ubuntu 22.04, pois as definições dependem dos requisitos específicos do seu ambiente virtual. Nos próximos tópicos deste tutorial, você encontrará informações sobre as principais opções de configuração e as respectivas funcionalidades.

Nota

Para salvar alterações no arquivo vsftpd.conf, é necessário ter permissões de root. Caso contrário, o arquivo poderá ser apenas lido.

Permitir acesso anônimo

Por padrão, o vsftpd está configurado para permitir apenas o acesso de usuários que tenham uma conta específica no servidor FTP. No entanto, o Protocolo de Transferência de Arquivos (FTP) também permite que usuários se conectem anonimamente, sem a necessidade de fornecer dados pessoais. Para ativar esse acesso, localize a linha anonymous_enable=NO no arquivo de configuração e substitua NO por YES:

anonymous_enable=YES
txt
Imagem: Configuração do acesso anônimo ao FTP no arquivo vsftpd.conf
Assim que você inserir a linha “anonymous_enable=YES”, será possível fazer login anônimo no servidor FTP do Ubuntu.

Expandir permissões de usuários anônimos

Por padrão, as permissões para usuários anônimos são bastante restritas em servidores FTP Ubuntu. Normalmente, é permitido apenas o download de arquivos publicamente legíveis (anon_world_readable_only=YES). Caso você desative essa restrição, será possível baixar outros arquivos.

Outras opções disponíveis para ampliar as permissões de usuários anônimos incluem:

  • anon_mkdir_write_enable=YES: Permite que usuários anônimos criem novos diretórios. Para ativar essa opção, remova o caractere # que comenta essa linha e certifique-se de que write_enable também esteja ativado.
  • anon_other_write_enable=YES: Com essa opção ativada, usuários anônimos podem renomear e excluir arquivos e diretórios no servidor FTP.
  • anon_upload_enable=YES: Permite que usuários anônimos façam upload de arquivos. Para que isso funcione, write_enable deve estar ativado e é necessário criar um diretório específico para uploads, pois usuários anônimos não podem gravar diretamente no diretório principal (home).

Restringir acesso de usuários locais ao diretório pessoal

Caso você queira restringir os usuários locais para que eles possam acessar apenas seus próprios diretórios home (/home/username), configure essa opção no arquivo vsftpd.conf. Um dos parâmetros responsáveis por essa restrição é o chroot_local_user. No Ubuntu 22.04, essa linha está comentada por padrão. Para ativá-la, remova o caractere #:

chroot_local_user=YES
txt

Ativar e desativar login de usuários locais

Para permitir o acesso de usuários locais ao seu servidor FTP Ubuntu, o parâmetro local_enable=YES deve estar ativado, o que já ocorre por padrão. Caso você queira bloquear o acesso de usuários locais, basta comentar essa linha, adicionando # antes dela:

#local_enable=YES
txt
Imagem: Configuração do acesso de usuários locais no servidor FTP Ubuntu
Por padrão, o login para contas de usuários locais é permitido no vsftpd.conf.

Ativar permissões globais de escrita

Por padrão, nem usuários locais nem anônimos podem executar comandos de escrita via FTP no Ubuntu 22.04. A linha correspondente a essa configuração (write_enable=YES) está comentada. Para permitir que usuários logados possam modificar o sistema de arquivos do servidor FTP, basta remover o caractere # dessa linha:

write_enable=YES
txt

Restringir acesso FTP em contas específicas

Em algumas situações, pode ser necessário bloquear o acesso de determinados usuários ao servidor FTP ou definir exatamente quais usuários podem se conectar a ele.

Para negar o acesso de usuários específicos, adicione as seguintes linhas ao final do arquivo de configuração:

userlist_deny=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
txt

Dessa forma, qualquer usuário listado no arquivo externo vsftpd.user_list será impedido de acessar o servidor, enquanto os demais poderão estabelecer uma conexão normalmente.

Se, por outro lado, você quiser permitir o acesso apenas a usuários específicos, altere o valor do parâmetro userlist_deny para NO. Assim, somente os usuários listados no arquivo poderão se conectar ao seu servidor FTP Ubuntu:

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
txt
Nota

Em ambos os casos, é necessário criar manualmente o arquivo de texto externo vsftpd.user_list no diretório /etc/. Uma linha separada deve ser usada no arquivo para cada entrada de conta de usuário.

Outras configurações possíveis em servidores FTP Ubuntu

Opção Valor Padrão Descrição
download_enable - Ativa (YES) ou desativa (NO) downloads
ssl_enable NO Ativa a criptografia SSL para conexões FTP
force_anon_logins_ssl NO Obriga conexões SSL para usuários anônimos (YES)
force_local_logins_ssl NO Obriga conexões SSL para usuários locais (YES)
anon_max_rate 0 Define a taxa máxima de transferência (em bytes/segundo) para usuários anônimos; 0 significa ilimitado
local_max_rate 0 Define a taxa máxima de transferência para usuários locais
max_clients 0 Número máximo de clientes conectados simultaneamente; 0 significa sem limite
max_per_ip 0 Número máximo de conexões permitidas por IP; 0 significa sem limite
anon_root /home/ftp Define o diretório padrão para usuários anônimos

Para visualizar a lista completa de opções, utilize o seguinte comando no terminal:

man vsftpd.conf
bash
Imagem: Manuais de configuração do vsftpd no terminal
Você pode encontrar descrições detalhadas de todas as opções disponíveis nos manuais do aplicativo do servidor FTP Ubuntu.
Dedicated Server da IONOS

O encontro do hardware com a nuvem: servidor dedicado com nuvem integrada e cobrança por minuto, incluindo assistente pessoal!

  • Suporte 24 horas
  • Tráfego ilimitado
  • Certificado SSL

Como usar servidor FTP no Ubuntu 22.04

Após ajustar o arquivo de configuração do seu Ubuntu FTP server, salve as alterações. Para que o servidor reconheça as mudanças, reinicie-o com o seguinte comando:

sudo systemctl restart vsftpd
bash

Se o seu servidor FTP Ubuntu ainda não estiver em execução, inicie-o com:

sudo systemctl start vsftpd
bash

Criar conta de usuário no servidor FTP Ubuntu

Para acessar o seu servidor FTP, você terá de criar um usuário. Para isso, basta seguir o exemplo de criação do nosso usuário ftpuser, com a senha test123:

sudo useradd -m user -s /usr/sbin/nologin
sudo passwd user
bash

Adicione a linha abaixo ao final do arquivo /etc/shells para permitir o login:

/usr/sbin/nologin
txt

Estabelecer conexão com o servidor FTP Ubuntu

A partir deste momento você poderá usar a conta de usuário que criou para estabelecer uma conexão com o servidor vsftpd utilizando o cliente FTP de sua preferência. Uma solução popular, cujos pacotes já estão disponíveis no Ubuntu por padrão, é o aplicativo multiplataforma e de código aberto FileZilla. A instalação pode ser feita de maneira tradicional pelo terminal:

sudo apt-get install filezilla
bash

Abra o FileZilla e adicione uma nova conexão com os dados apropriados: No campo “Host”, insira o endereço IP do seu servidor FTP Ubuntu, que – a menos que você tenha alterado as configurações – escuta requisições na porta 21. Escolha o protocolo de transferência de arquivos e, se possível, selecione SFTP (Secure FTP) ou FTP over TLS, pois uma conexão FTP simples, pela porta 21, representa um risco de segurança significativo. No campo “Logon Type”, selecione “Normal”. Para “User” e “Password”, utilize as credenciais criadas anteriormente para a conta de exemplo. Clique em “Connect” para estabelecer a conexão com o servidor.

Imagem: Site Manager do FileZilla
O cliente FileZilla oferece opções de configuração detalhadas para estabelecer uma conexão com um servidor FTP.

500 OOPS: Problema causado por recurso de segurança

Se você configurou um servidor FTP no Ubuntu, mas certas configurações não estão funcionando, pode ter ocorrido algum problema. Você pode ter esquecido de reiniciar o servidor FTP ou de salvar o arquivo de configuração. Além disso, erros de sintaxe no vsftpd.conf, como um espaço em branco no local errado, podem acontecer. No entanto, uma mensagem de erro comum pode ter uma causa completamente diferente:

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

Essa mensagem, que pode aparecer durante a tentativa de conexão, na verdade não é um erro, mas um recurso de segurança. Seu motivo é uma possível vulnerabilidade da biblioteca glibc (biblioteca padrão do Ubuntu para a linguagem de programação C), que poderia ser explorada por usuários com permissões de escrita no próprio diretório raiz. Para contornar essa restrição de segurança, existem duas soluções:

  1. Remover a permissão de escrita no diretório raiz do usuário: Isso impede que os usuários locais escrevam no diretório raiz, permitindo apenas gravação em subdiretórios. Embora resolva o problema “500 OOPS”, essa abordagem pode ser inconveniente se for necessário gravar arquivos diretamente no diretório raiz. O comando a ser executado no terminal é:
chmod a-w */home/user*
bash
  1. Permitir a permissão de escrita no diretório raiz no arquivo vsftpd.conf: Se você não tiver preocupações de segurança em relação ao abuso dessas permissões, pode informar ao seu servidor FTP Ubuntu que essa funcionalidade é permitida. Para isso, basta adicionar a seguinte linha ao arquivo de configuração:
allow_writeable_chroot=YES
txt
Teste o VPS da IONOS grátis

Experimente seu vServer de graça agora - Teste um servidor virtual por 30 dias!

  • Recursos dedicados
  • Tráfego ilimitado
  • Consultor pessoal
Este artigo foi útil?
Ir para o menu principal