VSFTPD - Come Chroot gli utenti FTP nelle loro directory home

VSFTPD - Come Chroot gli utenti FTP nelle loro directory home
Chroot è una funzione di sicurezza molto importante dei server FTP.

Quando si accede a un server FTP, non vuoi che gli utenti navigino tutto il tuo filesystem. Lo vuoi solo per sfogliare i file a cui è in grado di accedere, di solito le loro directory di casa. Questo è ciò che fa Chroot. Blocca gli utenti nelle loro directory home. Gli utenti possono solo sfogliare i file e le directory nella loro home directory. Non importa quanto ci provano, non saranno in grado di andare fuori dalle loro directory di casa.

In questo articolo, ti mostrerò come utilizzare VSFTPD Chroot per bloccare gli utenti nelle loro directory home. Prenderò in considerazione questo articolo un'estensione dell'articolo Gestisci Apache 2 VirtualHost con macro su Ubuntu 18.04 LTS O Come configurare Apache VirtualHost su Ubuntu 18.04 LTS. Assicurati di leggere questi articoli per configurare tutti gli utenti FTP e le directory home. Quindi iniziamo.

Come voglio configurare vsftpd:

Negli articoli di Apache VirtualHost sopra, ti ho mostrato come impostare Apache VirtualHost e ospitare più siti Web su un singolo server Web.

Ora, voglio lasciare che tutti i proprietari di siti Web (utenti) caricano i file richiesti sul proprio server utilizzando FTP. Quindi, ho intenzione di configurare VSFTPD in modo tale che gli utenti siano in grado di caricare i file richiesti sul proprio server utilizzando FTP.

Installazione di VSFTPD su Ubuntu:

Su Ubuntu, è possibile installare facilmente VSFTPD dal repository di pacchetti ufficiali di Ubuntu con il gestore dei pacchetti APT.

Innanzitutto, aggiorna la cache del gestore dei pacchetti APT con il seguente comando:

$ sudo apt update

Ora, installa VSFTPD con il seguente comando:

$ sudo apt install vsftpd

VSFTPD dovrebbe essere installato.

Configurazione di VSFTPD:

Il file di configurazione VSFTPD è /etc/vsftpd.conf.

È sempre una buona idea mantenere un backup del file di configurazione VSFTPD originale.

Per creare un file di configurazione VSFTPD di backup /etc/vsftpd.conf.backup, Esegui il seguente comando:

$ sudo mv -v /etc /vsftpd.conf /etc /vsftpd.conf.backup

Ora, crea un nuovo /etc/vsftpd.conf file con il seguente comando:

$ sudo nano /etc /vsftpd.conf

Ora, digita le seguenti righe e salva il file premendo + X seguito da y E .

Ascolta = Sì
ascolt_ipv6 = no
connect_from_port_20 = Sì
anonymous_enable = no
local_enable = sì
write_enable = sì
chroot_local_user = Sì
abilit_writeable_chroot = sì
Secure_Chroot_dir =/var/run/vsftpd/vuoto
pam_service_name = vsftpd
PASV_ENABLE = Sì
PASV_MIN_PORT = 40000
PASV_MAX_PORT = 45000
userList_enable = Sì
userlist_file =/etc/vsftpd.lista degli utenti
userList_deny = no

Finalmente il /etc/vsftpd.conf Il file di configurazione sembra questo.

Qui, chroot_local_user L'opzione è responsabile del blocco degli utenti nelle loro directory home.

abilit_writable_chroot L'opzione è responsabile delle autorizzazioni di scrittura sulle directory home.

Ora riavvia il servizio VSFTPD con il seguente comando:

$ sudo systemctl riavvio vsftpd

Ora, controlla se il servizio VSFTPD è in esecuzione con il seguente comando:

$ sudo systemctl status vsftpd

Grande! Il servizio VSFTPD è in esecuzione.

Ora, devi aggiungere tutti gli utenti che desideri connetterti alle loro directory home e caricare file in un file di configurazione /etc/vsftpd.lista degli utenti

Apri il /etc/vsftpd.lista degli utenti File di configurazione con il seguente comando:

$ sudo nano /etc /vsftpd.lista degli utenti

Ora, digita tutti i nomi utente che si desidera consentire l'accesso alle loro directory di casa tramite FTP qui. Quindi, salva il file premendo + X seguito da y E .

Accesso al server FTP:

Ora puoi utilizzare qualsiasi client FTP per connetterti al server FTP. Il client FTP più popolare è Filezilla.

Su Linux, puoi anche utilizzare Nautilus File Manager per connettersi al server FTP.

Su Windows, puoi aggiungere il tuo server FTP come posizione di rete e caricare file lì.

Innanzitutto, devi conoscere l'indirizzo IP o il nome host del server FTP.

Puoi scoprire l'indirizzo IP del tuo server FTP con il seguente comando:

$ ip a | Egrep "Inet"

Come puoi vedere, l'indirizzo IP del mio server FTP è 192.168.21.187. Dovrebbe essere diverso per te. Quindi, assicurati di sostituirlo con il tuo da ora in poi.

Utilizzando Nautilus per accedere al server FTP:

Se si desidera accedere al server FTP utilizzando Nautilus su Linux, prima apri Nautilus e fai clic su Altre posizioni. Quindi, digita ftp: // username@ip_addr o ftp: // username@domain_name nella sezione Connect to Server. Quindi, fare clic su Collegare.

Ora, digita la password per il tuo utente (nel mio caso, Alice) e fare clic su Sbloccare. Puoi anche controllare Ricordare la password, Se vuoi che Nautilus ricordi le credenziali di accesso. Altrimenti, lascialo incontrollato.

Dovresti essere effettuato. Come puoi vedere, la directory del www è qui.

Come puoi vedere, posso andare avanti la catena di directory.

IL indice.html Il file è anche all'interno del public_html/ directory.

Come puoi vedere, ho caricato un file e funziona. Posso anche accedere al file HTML dal server Apache.

Aggiunta della posizione della rete FTP su Windows:

Se si desidera accedere al server FTP e utilizzarlo su Windows aggiungendo una posizione di rete, quindi controlla il Accesso al server FTP sezione dell'articolo Come configurare un server FTP con vsftpd su Ubuntu 18.04 LTS.

Quindi, è così che si imposta VSFTPD e lo configura sugli utenti FTP di Chroot nelle loro directory home. Grazie per aver letto questo articolo.