Linux: Recuperare la password di root

Può capitare, e più spesso di quanto uno immagini, che la password del super utente root venga dimenticata. Dimenticare questa password può significare una limitazione piuttosto grande su una macchina Linux, visto e considerato che se il sistema è stato impostato correttamente e voi siete delle persone diligenti, utilizzerete il vostro utente e non root per fare tutte le operazioni di routine.Vediamo quindi come resettare questa password presupponendo che abbiate accesso fisico alla macchina.

Ci sono due modo per procedere….

Metodo 1 : dal boot loader

Il primo metodo che presenterò sarà quello relativo all’utilizzo del boot loader per accedere al single user mode.

Questa modalità permette di effettuare l’accesso alla macchina come super utente senza che venga richiesta la password.

Boot Loader LiLo
Se utilizzate LiLo come boot Loader, dovrete al prompt boot: digitare la seguente riga : linux single

boot: linux single

Il sistema a questo punto effettuerà un boot della macchina in single user mode.

Ricevuto il prompt vi basterà digitare

passwd

premere invio e scrivere la nuova password.
In caso di LiLo grafico, per poter digitare la riga linux single dovrete premere prima i tasti CTRL+x.

Boot Loader GRUB
Se utilizzate GRUB come boot Loader la cosa è leggermente più macchinosa ma non per questo più difficile.

Alla presentazione della schermata di GRUB premete il tasto ‘e’ in modo da entrare in edit dei parametri, selezionate la riga relativa al kernel che volete caricare a aggiungeteci alla fine la parola single.

Fatto questo premete INVIO per uscire dalla modalità di edit.

Ritornate alla schermata di avvio di GRUB e premete il tasto ‘b’ per avviare il sistema in single user mode.

A questo punto i passi da eseguire sono gli stessi presentati per LiLo.

Metodo 2 : da una Live Distro

Se avete sotto mano una Distribuzione Live come ad esempio Knoppix, potete eseguire questo metodo per effettuare il reset della password.

Inserite la live distro e fatela partire.

Terminato il caricamento del sistema aprite una shell e diventate super utente tramite il comando su

# su

non verrà chiesta la password proprio perchè utilizzate questa live.

Ora che siete diventati super utenti sempre da shell montate la partizione del vostro Hard disk contenente la directory /etc e spostatevici.

# mount -o dev,rw /mnt/hdXX
# cd /mnt/hdXX/etc

All’interno di questa directory esiste un file chiamato shadow, che contiene le password dei vari utenti compresa quella di root.

Utilizzando il vostro editor preferito, io ho usato il vim, aprite questo file ed identificate una riga simile alla seguente :

root:$2a$05$HMpnL1IPVqnGqXclFhIGSvIIlyxCC3W4xW2Hji:13467:0:10000::::

la lunga stringa subito dopo root è l’hash della password di root, ovvero la password criptata in modo univoco e a senso unico (cioè non si può risalire all’originale).

Cancellate quella stringa ottenendo quindi una riga simile alla seguente :

root::13467:0:10000::::

A questo punto smontate la partizione fermate il sistema con un bel comando

# halt

Sfilate la live distro e riavviate la vostra macchina.
Al momento del login digitate come utente root e alla richiesta della password premete semplicemente INVIO, vi ritroverete così loggati come super utente senza aver digitato la password.
A questo punto direi che sarebbe proprio il caso di fornire a root una nuova password

# passwd

Mi raccomando, questa volta cercate di ricordarla e soprattutto non date al super utente una password troppo semplice da individuare.