Le password sono normalmente memorizzate in /etc/shadow
, che non è leggibile dagli utenti . Tuttavia, storicamente, sono stati memorizzati nel file leggibile a livello mondiale /etc/passwd
insieme a tutte le informazioni sull'account. Per compatibilità con le versioni precedenti, se un hash della password è presente nella seconda colonna in /etc/passwd
, ha la precedenza su quello in /etc/shadow
.
Storicamente, un secondo campo vuoto in /etc/passwd
significa che l'account non ha password, cioè chiunque può accedere senza password (usato per gli account guest). Questo a volte è disabilitato. Se gli account senza password sono disabilitati, puoi inserire l'hash di una password a tua scelta. Puoi utilizzare la funzione crypt
per generare hash delle password, ad esempio perl -le 'print crypt("foo", "aa")'
per impostare la password su foo
.
È possibile ottenere l'accesso come root anche se puoi solo aggiungere /etc/passwd
e non sovrascrivere il contenuto. Questo perché è possibile avere più voci per lo stesso utente, purché abbiano nomi diversi: gli utenti sono identificati dal loro ID, non dal loro nome, e la caratteristica di definizione dell'account di root non è il suo nome ma il fatto che ha l'ID utente 0. Quindi puoi creare un account root alternativo aggiungendo una riga che dichiara un account con un altro nome, una password di tua scelta e l'ID utente 0.