Creazione automatica delle home directory di proFTPd tramite proFTPd Administrator

folder1

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

folder2

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”;

folder3

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

folder4

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.

folder5

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

folder6

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

firma

Hai già letto questi articoli?

About P@olo

Sistemista Informatico con diversi anni di esperienza in ambito aziendale, l'implementare "soluzioni IT che realmente soddisfano le esigenze" è la filosofia lavorativa adottata ed è la chiave della buona riuscita di un progetto. Rimani aggiornato sui prossimi articoli: iscriviti ai Feed RSS e alla Newsletter.