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.