
Come precedentemente visto nell’articolo dedicato alla configurazione di un sistema FTP tramite proFTPd e proFTPd Administrator, le home directory dei nuovi utenti definiti devono essere create manualmente.
Per automatizzare la procedura di creazione delle home directory tramite l’interfaccia web, è necessario l’utilizzo di uno script che abbia un accesso con permessi di root al sistema. Ovviamente non è opportuno far girare il web server con l’utente root per non compromettere l’intera sicurezza del sistema.
Tramite il comando sudo è possibile eseguire lo script mantenendo il fattore sicurezza invariato. Per utilizzare questa soluzione è necessario editare il file /etc/sudoers per inserire le definizioni richieste.
# visudo
Aggiungere le seguenti linee nel file:
Cmnd_Alias CREATE_USER = /var/www/html/ftpadmin/misc/user_script/create_user.sh
apache ALL=(ALL) NOPASSWD: CREATE_USER

Se durante la creazione di un nuovo utente via web viene visualizzato l’errore:
# sudo: sorry, you must have a tty to run sudo
è sufficiente commentare nel file /etc/sudoers l’istruzione:
#Defaults requiretty
Per fare in modo che proFTPd Administrator utilizzi lo script quando viene invocata la creazione di un nuovo utente, editare il file /var/www/html/ftpadmin/include_config.php ed aggiungere l’istruzione:
$config_createuser_command = “sudo /var/www/html/ftpadmin/misc/user_script/create_user.sh”;

Per creare le home directory e assegnare i permessi tramite l’interfaccia web, modificare il file /var/www/html/ftpadmin/misc/user_script/create_user.sh aggiungendo le istruzioni:
# vi /var/www/html/ftpadmin/misc/user_script/create_user.sh
mkdir -p /ftp/$USER
chown $USER_ID.$GROUP_ID /ftp/$USER

Per evitare che il sistema diventi vulnerabile a causa dei permessi di accesso dello script, proteggiamo lo script permettendo l’accesso e l’esecuzione al solo utente root.
# chown root.root /var/www/html/ftpadmin/misc/user_script/ -R
# chmod 700 /var/www/html/ftpadmin/misc/user_script/ -R
A questo punto la configurazione è terminata. Dal browser avviare proFTPd Administrator e provare a definire un nuovo utente.

Verificando il contenuto della directory /ftp è possibile notare che la home directory appena creata ha i permessi di accesso assegnati al nuovo utente definito.

Il server FTP è adesso completo e con la funzione di poter gestire i nuovi utenti e la creazione delle home directory direttamente via web.




Mi chiamo Paolo e sono un sistemista informatico. In questo blog si parla di informatica applicata in ambito aziendale. 




