Shadow password 

Il problema legato all'utilizzo del file delle password è che ogni utente può vedere tutte le password cifrate e, anche se è difficile invertire l'algoritmo di cifratura, è possibile cifrare, con lo stesso algoritmo, un gran numero di stringhe e quindi confrontarle con quelle cifrate del file delle password.
I tentativi di confronto delle cifrature delle password sono più efficaci per intromettersi in un sistema che il ripetere tentativi di login. Un cracker che ha in possesso il file delle password di un sistema ha molte più possibilità di intromettersi!
Per risolvere questo problema è stato introdotto il file shadow che contiene le password in forma cifrata e a cui può accedere solo l'utente root. Tutti i campi relativi alle password nel file /etc/passwd contengono una x; infatti i dati relativi a queste sono stati spostati nel file /etc/shadow.
Questo costituisce un sistema di difesa supplementare dagli attacchi di un cracker.
La versione shadow ha delle particolarità in più rispetto al passwd normale: una di queste è il controllo della complessità della nuova password inserita. Per esempio, quando un utente tenta di cambiare la password, se questa è troppo semplice viene rifiutata. Il calcolo della complessità è però abbastanza elementare e non garantisce affatto che la password sia introvabile. Semplicemente costringe gli cracker a creare dizionari molto più ampi e quindi a spendere molto più tempo. Infatti l'algoritmo che calcola la complessità prevede che ci sia almeno una lettera maiuscola, un numero o un carattere di punteggiatura. Inoltre la password deve differire per più di un carattere rispetto alla precedente. La tecnica shadow supporta però una interessante funzione preventiva, che è il controllo della password con un vocabolario al momento in cui viene inserita. Per utilizzarla occorre procurarsi la libreria Cracklib di Alec Muffett. Ovviamente non si può fornire alla Cracklib un vocabolario troppo ampio. Quindi l'ideale è di usare un piccolo vocabolario con Cracklib e poi, periodicamente, lanciare Crack con un vocabolario più completo.