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>
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
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.