Gabbie chroot per gli utenti FTP mediante vsftpd.conf

Recentemente mi è capitato di dover creare un nuovo account utente per l’accesso sul mio server FTP. Fin qui nulla di strano, è stato sufficiente digitare:

nightfly@nightbox:~$ useradd <nomeutente>

e successivamente:

nightfly@nightbox:~$ sudo passwd <password> <nomeutente>

 

vsftpd

A questo punto si è reso necessario ingabbiare l’utente nella sua home. Per fare ciò ho editato il file vsftpd.conf, che si trova nella directory /etc:

nightfly@nightbox:~$ sudo nano /etc/vsftpd.conf

decommentando (e dunque abilitando) la seguente opzione:

chroot_local_user=YES

Infine ho effettuato uno stop/start del demone vsftpd, digitando:

nightfly@nightbox:~$ sudo service vsftpd stop

nightfly@nightbox:~$ sudo service vsftpd start

e fine dei giochi.

PS: se volete cambiare la home directory dell’utente (che per default è /home/nomeutente), facendolo atterrare, ad esempio, in una sottodirectory di /var/www (per l’upload/download di pagine Web), vi basterà lanciare il comando:

nightfly@nightbox:~$ sudo usermod -d /var/www/nomecartella nomeutente

Se la directory /var/www/nomecartella esiste già, sarà necessario modificare il suo owner, partendo dal presupposto che essa abbia i permessi settati su 755:

nightfly@nightbox:~$ sudo chwon nomeutente:nomeutente /var/www/nomecartella

In alternativa, si potrebbe creare un gruppo ad hoc, chiamato ad esempio web, al quale associare i vari utenti che possono eseguire operazioni di lettura e scrittura su una data directory.

Per creare il gruppo occorre digitare:

nightfly@nightbox:~$ sudo groupadd nomegruppo

Successivamente aggiungiamo i vari utenti al gruppo, mediante il comando:

nightfly@nightbox:~$ sudo usermod -g web nomeutente

A procedura terminata, verifichiamo che gli utenti siano stati effettivamente aggiunti al gruppo, listandone il contenuto:

nightfly@nightbox:~$ sudo groups nomegruppo

Infine, possiamo modificare solo il gruppo proprietario della directory /var/www/nomecartella, digitando:

nightfly@nightbox:~$ sudo usermod :web /var/www/nomecartella

e cambiamo i permessi della directory, settandoli su 775:

nightfly@nightbox:~$ sudo chmod 775 /var/www/nomecartella

PPS: questa configurazione del file vsftpd.conf ingabbierà nella loro home tutti gli utenti di sistema che si collegheranno al server FTP. Se volete fare una selezione degli utenti che saranno ingabbiati e di quelli che non lo saranno, disabilitare l’opzione:

chroot_local_user=YES

commentandola o settandone il valore a NO:

#chroot_local_user=YES

In seguito abilitate l’opzione:

chroot_list_enable=YES

e specificate il file in cui è contenuta la lista degli utenti da ingabbiare, che per default è vsftpd.chroot_list:

chroot_list_file=/etc/vsftpd.chroot_list

Infine, inserite in questo file i nomi utente da chrootare (uno per riga).

A presto.

Gabbie chroot per gli utenti FTP mediante vsftpd.confultima modifica: 2011-11-02T18:55:31+01:00da nazarenolatella
Reposta per primo quest’articolo