userdel e deluser

In un precedente articolo ho scritto a proposito del comando adduser per aggiungere un nuovo utente al sistema, o per modificare un utente esistente (ad esempio per aggiungerlo ad un gruppo). Ho anche evidenziato il fatto che il comando adduser presente sui sistemi basati su Debian è uno script PERL mentre su sistemi basati su Red Hat è semplicemente un link simbolico al comando useradd.

In questo articolo mostrerò l’utilizzo dei comandi userdel e deluser, quest’ultimo presente sotto forma di script della shell su sistemi Debian e invece del tutto assente sui sistemi Red Hat.

userdel

userdel è il comando di “basso livello” che permette di rimuovere un utente dal sistema, ovvero di cancellare le righe che lo riguardano all’interno dei file /etc/passwd e /etc/shadow, nonché di rimuoverne i riferimenti dai gruppi ai quali eventualmente partecipava.

Il comando userdel prevede una serie di opzioni che ne caratterizzano il comportamento, tra le quali:

  • -f, --force: forza la rimozione dell’account anche se l’utente è attualmente loggato; comporta anche la rimozione della home directory e del mail spool, anche se un altro utente fa uso della stessa home directory e se il mail spool non appartiene all’utente che si sta rimuovendo. Inoltre, se nel file /etc/login.defs è impostata l’opzione USERGROUPS_ENAB ed esiste un gruppo con lo stesso nome dell’utente da cancellare, allora anche il gruppo viene cancellato, anche se questo risulta ancora essere il gruppo primario di un altro utente;
  • -r, --remove: la home directory dell’utente, assieme a tutti i file in essa contenuti, vengono rimossi dal filesystem; anche il mail spool viene cancellato.

Ovviamente l’opzione -f è piuttosto drastica e andrebbe evitata. Inoltre è buona norma procedere alla rimozione di un utente attendendo un certo periodo di tempo dopo averne disattivato l’account. Durante questo periodo di tempo bisognerebbe osservare se sul sistema ci sono file appartenenti all’utente o al suo gruppo primario sparsi al di fuori della sua home directory, per capire se devono essere mantenuti (trasferendone la proprietà ad altri utenti) oppure rimossi del tutto. A tale scopo è possibile utilizzare il comando find, particolarmente versatile nel trovare i file che soddisfano criteri di ricerca anche molto dettagliati.

Se nel file /etc/login.defs è valorizzata anche l’opzione USERDEL_CMD, allora il comando/script associato viene eseguito con l’invocazione di userdel; questo permette ad esempio di automatizzare la rimozione dei cron job, degli at job e dei job di stampa relativi all’utente che si sta rimuovendo.

deluser

Il comando deluser, come detto, è presente sui sistemi Debian e derivati; si tratta di uno script PERL che fornisce un’interfaccia più amichevole rispetto a userdel. Tramite questo script, infatti, risultano semplificate le operazioni di rimozione dell’utente insieme ai file che gli appartengono, sia nella sua home directory che fuori da essa (opzioni --remove-home e --remove-all-files).

deluser inoltre consente di creare anche un backup dei file dell’utente che si sta rimuovendo e di salvarlo un una opportuna directory (opzioni --backup e --backup-to).

Le impostazioni che regolano il comportamento di default del comando deluser si trovano nei file /etc/deluser.conf e /etc/adduser.conf.

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi