Questo articolo descrive come installare e configurare un server vsFTPD su CentOS®, Red Hat® Enterprise Linux® (RHEL) e il sistema operativo Ubuntu®.
Nota: Devi aver effettuato l'accesso tramite SSH come utente root per utilizzare le istruzioni in questo articolo.
Installa vsFTPD
Utilizzare i seguenti comandi sulle diverse distribuzioni Linux® per installare un server vsFTPD:
CentOS e RHEL
yum -y install vsftpd
Sistema operativo Ubuntu
apt-get install vsftpd
Il processo di installazione genera un file di configurazione. Per CentOS e RHEL, il file è denominato/etc/vsftpd/vsftpd.conf e per il sistema operativo Ubuntu, il file è denominato /etc/vsftpd.conf . Utilizzare le istruzioni nelle sezioni seguenti per configurare le impostazioni nel file di configurazione vsFTPD.
Configura vsFTPD
Apri il file di configurazione vsFTPD in un editor di file o usando vi
e sostituisci il contenuto del file con le seguenti righe:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=60000
pasv_max_port=65000
Se vuoi abilitare le jail chroot, aggiungi le seguenti righe in fondo al file di configurazione:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
Devi creare un vsftp.chroot_list file e inserirvi tutti gli utenti che non sono chroot. Tutti gli utenti sono chroot per impostazione predefinita. Devi creare il file anche se non hai utenti da inserire.
Nota: Per il sistema operativo Ubuntu, la riga per il file dell'elenco chroot è chroot_list_file=/etc/vsftpd.chroot_list
.
Se desideri consentire a un utente di utilizzare gli elenchi di controllo di accesso ai file (FACL) o impostare un'autorizzazione di gruppo per impostazione predefinita, aggiungi le seguenti righe nella parte inferiore del file di configurazione:
file_open_mode=XXXX
local_umask=XXX
Qui puoi cambiare file_open_mode
a 0775, 0664 e così via per soddisfare le tue esigenze di autorizzazione di base. Potrebbe non essere necessario combinarlo con umask, a seconda di cosa vuoi fare.
Umask rimuove i permessi dai file. Ad esempio, un file con 777 diventa 755 con una umask di 022 (impostazione predefinita). Ciò limita l'accesso per motivi di sicurezza. Alcune persone impostano erroneamente umask su 000, pensando che i file verranno quindi visualizzati come 777. Questa distinzione è importante. Mentre file_open_mode
dice a vsFTPD le autorizzazioni predefinite da utilizzare, umask rimuove solo le autorizzazioni, non può mai concederle.
Riavvia e abilita vsFTPD
Dopo aver modificato il file di configurazione, è necessario riavviare il servizio vsFTPD per rendere effettive le modifiche. Utilizzare il comando seguente per riavviare vsFTPD su CentOS, RHEL e il sistema operativo Ubuntu:
systemctl restart vsftpd
Dopo il riavvio di vsFTPD, dovresti anche configurarlo per l'avvio all'avvio del server. Utilizzare il comando seguente per abilitarevsFTPD all'avvio all'avvio su CentOS, RHEL e sul sistema operativo Ubuntu:
systemctl enable vsftpd
Consenti vsFTPD attraverso il firewall
Il passaggio finale consiste nel consentire vsFTPD attraverso il firewall del server utilizzando i seguenti comandi sulle diverse distribuzioni Linux:
CentOS e RHEL
iptables -I RH-Firewall-1-INPUT -p tcp --dport 21 -m comment --comment "FTP" -j ACCEPT
iptables -I RH-Firewall-1-INPUT -p tcp -m multiport --dports 60000:65000 -m comment --comment "FTP passive mode ports" -j ACCEPT
/etc/init.d/iptables save
Il sistema operativo Ubuntu
ufw allow 21
ufw allow proto tcp from any to any port 60000:65000