Cos'è FTP?
FTP (File Transfer Protocol) è un protocollo di rete client-server che consente agli utenti di scambiare file da e verso computer remoti.
FTP utilizza il testo normale per trasferire dati e accedere ai dati. Sono disponibili diversi server FTP open source per la piattaforma del sistema operativo Linux. I server FTP più comunemente usati sono VSFTPD, ProFTPD e PureFTPD. Il protocollo FTP utilizza la porta numero 21 per la connessione e la porta 20 per il trasferimento dei dati. In modalità passiva, vengono utilizzate porte aggiuntive.
In questo tutorial impareremo come impostare e configurare VSFTPD. È molto sicuro e stabile e disponibile nel repository di pacchetti CentOS 8.
Installa il server FTP VSFTP
Per installare il pacchetto VSFTPD su CentOS 8, apri un terminale o connettiti al tuo server tramite SSH come utente root e digita il seguente comando:
# dnf install –y vsftpd
Una volta installato il pacchetto, avvia e abilita il servizio VSFTPD utilizzando il comando seguente:
# systemctl enable vsftpd # systemctl start vsftpd
Prendi una copia del file di configurazione originale /etc/vsftpd/vsftpd.conf digitando il seguente comando:
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
Ora modifica il file di configurazione, usando il seguente comando:
# vim /etc/vsftpd/vsftpd.conf
Trova e imposta le seguenti direttive al suo interno:
anonymous_enable=NO # disable anonymous users(Unknown users) local_enable=YES # allow local users write_enable=YES # allow ftp write commands local_umask=022 # set default umask dirmessage_enable=YES # enable messages on change directory xferlog_enable=YES # enable logging of uploads and downloads connect_from_port_20=YES # ensure PORT transfer connections from port 20 xferlog_std_format=YES # keep standard log format listen=NO # prevent vsftpd run in stand-alone mode listen_ipv6=YES # allow vsftpd to listen on IPv6 socket pam_service_name=vsftpd # set PAM Service name to vsftpd
Configura l'elenco utenti nel server FTP
Per impostazione predefinita, tutti gli utenti che sono nella elenco_utenti file che si trova in /etc/vsftpd/user_list sono consentiti per utilizzare i servizi FTP.
Per limitare gli utenti in un ambiente con chroot , usa le seguenti direttive:
chroot_local_user=YES # Create chrooted environment for users allow_writeable_chroot=YES # Allow write permission to a user on chroot jail directory
Per mantenere l'utente limitato alla propria home directory, utilizzare le seguenti direttive:
userlist_enable=YES # enable vsftpd to load usernames userlist_deny=NO # allow access to users in the user list
Se vuoi fornire un accesso generale al nostro sistema aggiungi questa direttiva nel tuo file di configurazione:
chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #users in this file list have an overall access
Salva e chiudi il file di configurazione.
Ora, crea un elenco_chroot in /etc/vsftpd/ directory, utilizzando il seguente comando:
# touch /etc/vsftpd/chroot_list
Aggiungi solo gli utenti in quell'elenco a cui desideri fornire l'accesso generale al sistema.
Crea un utente per accedere ai Servizi FTP
Per creare un utente per l'utilizzo del servizio FTP, utilizzare il comando seguente:
# useradd user1 # passwd user1
Aggiungi quell'utente in elenco_utenti per limitare un utente alla sua home directory, utilizzare il comando seguente:
# vim /etc/vsftpd/user_list
Digita "i ” per inserire e digitare quel nome utente, come mostrato in figura:
Premi ESC e digita :wq! per salvare il file.
Se desideri fornire a un utente specifico un accesso generale al sistema, aggiungi quell'utente in /etc/vsftpd/chroot_list.
Riavvia il VSFTPD Servizio:
# systemctl restart vsftpd
Verifica lo stato del servizio FTP utilizzando il comando seguente:
# systemctl status vsftpd
Configura Firewall per FTP
Per consentire il servizio FTP attraverso il firewall, utilizzare il comando seguente:
# firewall-cmd - - add-service = ftp - - permanent # firewall-cmd - - reload
Test del server FTP da un computer Windows
Per connettersi al server FTP è necessario un software client. Il software più comunemente usato per FTP è FileZilla , WINSCP, ecc. Sto usando FileZilla per la connessione.
Apri il tuo software client FTP, inserisci i seguenti dettagli per connetterti:
Ospite —> Indirizzo IP o nome host.
Nome utente :nome utente FTP (nel mio caso è user1)
Password
Porta:21
Dopo esserti connesso con successo, puoi caricare/scaricare file in base alle tue necessità.
Conclusione
In questo tutorial abbiamo imparato come configurare un server FTP su Centos 8, come limitare gli utenti alla loro home directory e come concedere loro l'accesso in lettura/scrittura. Abbiamo anche visto come fornire all'utente specifico l'accesso generale al sistema.