Come posso programmare un server FTP e un utente FTP sulla mia istanza Lightsail?

Ultimo aggiornamento: 05/10/2021

Voglio configurare un server FTP e un utente FTP sulla mia istanza Lightsail con Amazon Linux 2, CentOS, Ubuntu o Debian. In che modo posso farlo?

Risoluzione

1.    Esegui il seguente comando per installare il pacchetto VSFTPD:

Amazon Linux 2 e CentOS

sudo yum install vsftpd -y

Ubuntu e Debian

sudo apt install vsftpd -y

2.    Modifica il file vsftpd.config per modificare le variabili necessarie per il tuo ambiente.

La posizione del file vsftpd.config varia a seconda del sistema operativo in uso:

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

Modifica le variabili nell'esempio seguente in base alle esigenze dell'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

Nota: la porta 21 è la porta di default per FTP. Puoi utilizzare la porta 21. Tuttavia, nell'esempio precedente la porta personalizzata 10021 è la porta per FTP per motivi di sicurezza. Per personalizzare la porta, modifica listen_port con la porta che desideri utilizzare e imposta connect_from_port_20 su NO. Assicurati di attivare le porte che intendi utilizzare per FTP sul firewall dell'istanza. Nell'esempio precedente, le porte 10021 e 21000-21999 sono attivate sul firewall Lightsail e personalizzato.

3.    Esegui il seguente comando per aggiungere l'utente FTP:

sudo adduser --home /home/ftp_user ftp_user

Nota: nell'esempio precedente, sostituisci ftp_user con un nome utente a tua scelta.

4.    Esegui il seguente comando per creare una password per l'utente:

sudo passwd ftp_user

5.    Esegui il seguente comando per modificare la proprietà del file /home/ftp_user. Questo comando rende ftp_user proprietario del file.

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

6.    Esegui il seguente comando per aggiungere il nuovo utente alla user_list di vsftpd. Usa il flag -a da aggiungere al file.

Amazon Linux 2 e CentOS

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

Debian e Ubuntu

Esegui il seguente comando per creare il file dell'elenco utenti e aggiungi il nuovo utente al file:

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

7.    Riavvia il servizio vsftpd:

sudo systemctl restart vsftpd

8.    Connettiti al server FTP. L'esempio seguente utilizza Filezilla plain FTP.

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

Risoluzione dei problemi relativi alla configurazione del server FTP

Opzioni errate nel file vsftpd.conf possono causare il malfunzionamento del servizio vsftpd. Se non riesci ad avviarlo, esegui il seguente comando per trovare le opzioni non configurate correttamente:

Amazon Linux 2 e CentOS

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

Debian e Ubuntu

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

Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?