Como configuro um servidor FTP e um usuário FTP na minha instância do Lightsail?

Data da última atualização 05/10/2021

Quero configurar um servidor FTP e um usuário FTP na minha instância do Lightsail executando o Amazon Linux 2, CentOS, Ubuntu ou Debian. Como posso fazer isso?

Resolução

1.    Execute o seguinte comando para instalar o pacote VSFTPD:

Amazon Linux 2 e CentOS

sudo yum install vsftpd -y

Ubuntu e Debian

sudo apt install vsftpd -y

2.    Edite o arquivo vsftpd.config para alterar as variáveis necessárias para o seu ambiente.

A localização do arquivo vsftpd.config varia dependendo do sistema operacional:

  • Amazon Linux 2 e CentOS: /etc/vsftpd/vfstpd.conf
  • Debian e Ubuntu: /etc/vsftpd.conf

Altere as variáveis no exemplo a seguir conforme necessário para o seu ambiente:

anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=NO
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
listen_port=10021
pasv_enable=YES
pasv_min_port=21000
pasv_max_port=21999
pasv_addr_resolve=NO

Observação: a porta 21 é a porta padrão para FTP. Você pode usar a porta 21. No entanto, no exemplo anterior, a porta personalizada 10021 é a porta para FTP por motivos de segurança. Para personalizar a porta, altere a listen_port para a porta que você deseja usar e defina connect_from_port_20 como NO. Certifique-se de ativar as portas que planeja usar para FTP no firewall da instância. Para o exemplo anterior, as portas 10021 e 21000-21999 são ativadas no firewall personalizado e do Lightsail.

3.    Execute o seguinte comando para adicionar o usuário FTP:

sudo adduser --home /home/ftp_user ftp_user

Observação: no exemplo anterior, substitua ftp_user por um nome de usuário de sua escolha.

4.    Execute o seguinte comando para criar uma senha para o usuário:

sudo passwd ftp_user

5.    Execute o seguinte comando para alterar a propriedade do arquivo /home/ftp_user. Este comando torna o ftp_user o proprietário do arquivo.

sudo chown ftp_user:ftp_user -R /home/ftp_user/

6.    Execute o seguinte comando para adicionar o novo usuário ao vsftpd user_list. Use o sinalizador -a para anexar ao arquivo.

Amazon Linux 2 e CentOS

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd/user_list

Debian e Ubuntu

Execute o seguinte comando para criar o arquivo de lista de usuários e adicionar o novo usuário ao arquivo:

sudo echo "ftp_user" | sudo tee -a /etc/vsftpd.userlist

7.    Reinicie o serviço vsftpd:

sudo systemctl restart vsftpd

8.    Conecte-se ao servidor FTP. O exemplo a seguir usa o FTP simples do Filezilla.

Status:    Connecting to 54.xxx.xxx.x2:10021...
Status:    Connection established, waiting for welcome message...
Status:    Plain FTP is insecure. Please switch to FTP over TLS.
Status:    Logged in
Status:    Retrieving directory listing...
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    Calculating timezone offset of server...
Status:    Timezone offset of server is 0 seconds.
Status:    Directory listing of "/" successful
Status:    Connecting to 54.xxx.1xx.52:10021...
Status:    Connection established, waiting for welcome message...
Status:    Plain FTP is insecure. Please switch to FTP over TLS.
Status:    Logged in
Status:    Starting upload of C:\Users\Administrator\Documents\FTPtest.txt
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    File transfer successful, transferred 10 bytes in 1 second
Status:    Retrieving directory listing of "/"...
Status:    Server sent passive reply with unroutable address. Using server address instead.
Status:    Directory listing of "/" successful

Solução de problemas de configuração do servidor FTP

Opções incorretas no arquivo vsftpd.conf podem fazer com que o serviço vsftpd seja desativado. Se você não conseguir iniciá-lo, execute o seguinte comando para descobrir quais opções não estão configuradas corretamente:

Amazon Linux 2 e CentOS

sudo /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Debian e Ubuntu

sudo /usr/sbin/vsftpd /etc/vsftpd.conf

Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?