6.6 Il meccanismo delle shadow password

Oltre alla normale gestione degli user account, esiste un meccanismo di gestione detto shadow password che si basa sul principio di nascondere le password cifrate ai processi che non hanno i privilegi del superuser. Infatti, come è stato illustrato nella sez. 6.1, le password sono contenute nel file /etc/passwd (nei sistemi in cui la gestione delle shadow password non è attiva), leggibile a tutti i tipi di utenti poiché questo contiene, oltre alle password, delle informazioni relative agli utenti che alcuni applicativi hanno bisogno di conoscere per il loro corretto funzionamento.

Il problema nasce dal fatto che conoscendo la password, anche in forma cifrata, è possibile riuscire a generare una password che dia la stessa cifratura (attacchi per dizionario)11. Il meccanismo delle shadow password è tale per cui le password vengono effettivamente rimosse dal file /etc/passwd ed inserite in un altro file a cui può vi si può accedere soltanto avendo i privilegi del superuser. Così facendo, l’accesso in lettura al file /etc/passwd non implica la conoscenza delle password cifrate.

Ovviamente, l’utilizzo del meccanismo delle shadow password richiede che alcuni programmi, quelli che devono accedere alle password per l’autenticazione degli utenti, siano predisposti per questo. Ormai tutte le distribuzioni di GNU/Linux adottano tale gestione.

Il meccanismo delle shadow password implica la presenza del file /etc/shadow in parallelo al file /etc/passwd, che non conterrà più le password cifrate dei vari utenti, ma al loro posto comparirà semplicemente una ‘x’. Nel file /etc/shadow (man page shadow(5)) sono presenti delle righe con la sintassi seguente:

 
username:password:last_modify:min_validity:max_validity:warning:expiring:end:reserved  
dove

I campi che rappresentano una data possono contenere un numero intero che indica il numero di giorni trascorsi dal 01/01/1970, mentre quelli che rappresentano una durata, possono contenere un numero intero che esprime una quantità di giorni.

Con il meccanismo delle shadow password è possibile gestire anche la durata della password degli utenti, come illustrato nella fig. 6.1, per mezzo del comando chage (change age) (man page chage(1)).

____________________________________________________________________

Comando: chage
Path: /usr/bin/chage

SINTASSI  
# chage [option] username  
DESCRIZIONE

_____________________________________________________________________________________________________________

[da completare ...]


pict
Figura 6.1: La gestione della scadenza della password con il meccanismo della shadow password.

Anche la gestione dei gruppi è leggermente diversa da quanto illustrato nella sez. 6.2: analogamente a quanto accade per gli utenti, il file /etc/group viene privato delle password dei gruppi ed a questo viene affiancato il file /etc/gshadow che contiene delle righe con la sintassi seguente:

 
groupname:password:groupadmins:groupmembers  
dove

Viene dunque introdotta la figura dell’amministratore del gruppo, ovvero un utente che può aggiungere o rimuovere i membri all’interno di un gruppo.


  6.6.1 Attivare/disattivare il meccanismo delle shadow password