03. ProFTPD - adrianmouzinho/ubuntu-server-tutorial GitHub Wiki
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.
Antes de iniciar a instalação, precisamos garantir que temos permissões de superusuário. Isso nos permite executar comandos administrativos.
sudo suO próximo passo é instalar o ProFTPD, que é um servidor FTP amplamente usado e conhecido por sua segurança e flexibilidade.
apt install proftpdVamos para o diretório onde estão os arquivos de configuração do ProFTPD.
cd /etc/proftpdVamos listar os arquivos e diretórios presentes em /etc/proftpd para entender sua estrutura.
ls -la 
Vamos editar o arquivo de configuração principal do ProFTPD, proftpd.conf.
nano proftpd.confDentro 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
 
 
 
 
 
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 ftpeGroup nogroup: Define o usuário e grupo para acessos anônimos.
- 
UserAlias anonymous ftp: Permite login com "anonymous" e "ftp".
- 
DirFakeUser on ftpeDirFakeGroup 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.msgeDisplayChdir .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.
Vamos criar um novo usuário FTP.
sudo adduser usuarioftp1 
Vamos para o diretório do usuário recém-criado e configurar uma pasta para FTP.
cd /home/usuarioftp1
mkdir ftpVamos editar o arquivo /etc/passwd para configurar a pasta FTP e bloquear o login do usuário.
nano /etc/passwdEncontre a linha correspondente ao usuário usuarioftp1 e modifique-a para:
usuarioftp1:x:1001:1001:Usuario FTP 01,,,:/home/usuarioftp1/ftp:/bin/nologin
 
Vamos ajustar as permissões da pasta FTP.
chown usuarioftp1:usuarioftp1 ftp
chmod 770 ftpApós fazer todas as configurações, precisamos reiniciar o ProFTPD para que as mudanças tenham efeito.
systemctl restart proftpdVamos verificar se o ProFTPD está funcionando corretamente.
systemctl status proftpd 
Vamos criar alguns arquivos de teste no diretório FTP.
touch ftp/filme.mov
touch ftp/imagem.jpg
touch ftp/texto.txt 
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.