03. ProFTPD - adrianmouzinho/ubuntu-server-tutorial GitHub Wiki

O que é o ProFTPD?

O ProFTPD é um servidor FTP de código aberto amplamente utilizado para transferência de arquivos em redes TCP/IP. Como um dos servidores FTP mais populares disponíveis, o ProFTPD oferece uma plataforma estável e confiável para transferência de arquivos entre clientes e servidores em ambientes Linux e Unix-like.

Tutorial: Instalando e Configurando o Servidor FTP com ProFTPD no Ubuntu Server 24.04

Passo 1: Acessando o Terminal com Privilégios de Superusuário

Antes de iniciar a instalação, precisamos garantir que temos permissões de superusuário. Isso nos permite executar comandos administrativos.

sudo su

Passo 2: Instalando o ProFTPD

O próximo passo é instalar o ProFTPD, que é um servidor FTP amplamente usado e conhecido por sua segurança e flexibilidade.

apt install proftpd

Passo 3: Navegando até o Diretório de Configuração do ProFTPD

Vamos para o diretório onde estão os arquivos de configuração do ProFTPD.

cd /etc/proftpd

Passo 4: Listando os Arquivos no Diretório

Vamos listar os arquivos e diretórios presentes em /etc/proftpd para entender sua estrutura.

ls -la
ProFTPD

Passo 5: Editando o Arquivo de Configuração Principal

Vamos editar o arquivo de configuração principal do ProFTPD, proftpd.conf.

nano proftpd.conf

Dentro deste arquivo, faremos algumas configurações básicas:

  ServerName "Nome do Servidor"

  ShowSymlinks off

  DefaultRoot ~

  RequireValidShell off

  MaxInstances 5

  <Anonymous ~ftp>
    User ftp
    Group nogroup
    # We want clients to be able to login with "anonymous" as well as "ftp"
    UserAlias anonymous ftp
    # Cosmetic changes, all files belongs to ftp user
    DirFakeUser on ftp
    DirFakeGroup on ftp
    # Limit the maximum number of anonymous logins
    MaxClients 10

    # We want 'welcome.msg' displayed at login, and '.message' displayed
    # in each newly chdired directory.
    DisplayLogin welcome.msg
    DisplayChdir .message

    # Limit WRITE everywhere in the anonymous chroot
    <Directory *>
      <Limit WRITE>
        DenyAll
      </Limit>
    </Directory>

    # Uncomment this if you're brave.
    # <Directory incoming>
    #   # Umask 022 is a good standard umask to prevent new files and dirs
    #   # (second parm) from being group and world writable.
    #   Umask 022  022
    #   <Limit READ WRITE>
    #     DenyAll
    #     </Limit>
    #       <Limit STOR>
    #         AllowAll
    #     </Limit>
    # </Directory>

  </Anonymous>

  TransferRate RETR 8:10

  RootLogin off
ProFTPD ProFTPD ProFTPD ProFTPD ProFTPD

Essas configurações realizam as seguintes ações:

  • ServerName "Nome do Servidor": Define o nome do servidor FTP.
  • ShowSymlinks off: Desativa a exibição de links simbólicos.
  • DefaultRoot ~: Restringe os usuários aos seus próprios diretórios.
  • RequireValidShell off: Permite que usuários sem shell válido façam login.
  • MaxInstances 5: Limita o número de usuários simultâneos.
  • <Anonymous ~ftp>: Configura o acesso anônimo com várias subconfigurações:
    • User ftp e Group nogroup: Define o usuário e grupo para acessos anônimos.
    • UserAlias anonymous ftp: Permite login com "anonymous" e "ftp".
    • DirFakeUser on ftp e DirFakeGroup on ftp: Todos os arquivos parecem pertencer ao usuário e grupo ftp.
    • MaxClients 10: Limita o número máximo de logins anônimos simultâneos.
    • DisplayLogin welcome.msg e DisplayChdir .message: Mostra mensagens específicas ao login e mudança de diretório.
    • <Directory *> e <Limit WRITE>: Impede operações de escrita em diretórios anônimos.
  • TransferRate RETR 8:10: Limita a taxa de download.
  • RootLogin off: Desabilita login de root.

Passo 6: Criando um Usuário FTP

Vamos criar um novo usuário FTP.

sudo adduser usuarioftp1
ProFTPD

Passo 7: Configurando o Diretório do Usuário FTP

Vamos para o diretório do usuário recém-criado e configurar uma pasta para FTP.

cd /home/usuarioftp1
mkdir ftp

Passo 8: Editando o Arquivo de Senhas

Vamos editar o arquivo /etc/passwd para configurar a pasta FTP e bloquear o login do usuário.

nano /etc/passwd

Encontre a linha correspondente ao usuário usuarioftp1 e modifique-a para:

usuarioftp1:x:1001:1001:Usuario FTP 01,,,:/home/usuarioftp1/ftp:/bin/nologin
ProFTPD

Passo 9: Ajustando Permissões

Vamos ajustar as permissões da pasta FTP.

chown usuarioftp1:usuarioftp1 ftp
chmod 770 ftp

Passo 10: Reiniciando o ProFTPD

Após fazer todas as configurações, precisamos reiniciar o ProFTPD para que as mudanças tenham efeito.

systemctl restart proftpd

Passo 11: Verificando o Status do ProFTPD

Vamos verificar se o ProFTPD está funcionando corretamente.

systemctl status proftpd
ProFTPD

Passo 12: Testando a Configuração

Vamos criar alguns arquivos de teste no diretório FTP.

touch ftp/filme.mov
touch ftp/imagem.jpg
touch ftp/texto.txt
ProFTPD

Conclusão

Seguindo esses passos, você terá instalado e configurado o servidor FTP ProFTPD no seu Ubuntu Server. Essas configurações básicas garantem que o servidor esteja pronto para transferir arquivos de forma segura e eficiente.

⚠️ **GitHub.com Fallback** ⚠️