Ti sei mai chiesto come reimpostare la password di root su un sistema se l'hai completamente dimenticata? Fino a poco tempo, potevi semplicemente modificare le opzioni del kernel di GRUB per l'avvio in modalità utente singolo, o dire a init di generare una shell con /bin/bash o simili. Con Red Hat Enterprise Linux 7 o CentOS 7, il gioco ha cambiato ancora qualche passaggio, la guida seguente mostra come farlo!
Nota:se il filesystem è crittografato, queste istruzioni non funzioneranno!
I passaggi variano a seconda che la tua macchina sia un guest virtuale che utilizza un ambiente virtualizzato come KVM o VirtualBox che utilizza una tastiera USB o se ti trovi su una macchina RHEL/CentOS standard. Le prime istruzioni sono per una macchina standard, scorri questo articolo se stai utilizzando un ospite virtuale.
Reimpostazione della password su una macchina RHEL/CentOS standard
1) Avvia il sistema e attendi finché non viene visualizzato il menu di GRUB2.
2) Nel menu di avvio, evidenzia qualsiasi voce e premi
e
.3) Trova la riga che inizia con linux. Alla fine di questa riga, aggiungi quanto segue:
init=/bin/sh
Nota:se ti ritrovi a soffrire di un panico del kernel, invece di "ro" cambia in "rw" in sysroot come esempio di seguito:
rw init=/sysroot/bin/sh
4) Premi F10 o Ctrl+X per avviare il sistema utilizzando le opzioni appena modificate.
Una volta avviato il sistema, ti verrà presentato un prompt della shell senza dover inserire alcun nome utente o password:
sh-4.2#
5) Caricare la politica SELinux installata:
sh-4.2# /usr/sbin/load_policy -i
6) Esegui il seguente comando per rimontare la partizione di root:
sh4.2# mount -o remount,rw /
7) Reimposta la password di root:
sh4.2# passwd root
Quando richiesto, inserisci la tua nuova password di root e conferma premendo il tasto Invio. Immettere la password per la seconda volta per accertarsi di averla digitata correttamente e confermare nuovamente con Invio. Se entrambe le password corrispondono, verrà visualizzato un messaggio che informa dell'avvenuta modifica della password di root.
8) Rimontare nuovamente la partizione di root, questa volta in sola lettura:
sh4.2# mount -o remount,ro /
9) Riavviare il sistema. D'ora in poi, potrai accedere come utente root utilizzando la nuova password impostata durante questa procedura. Per riavviare il sistema, inserisci exit
e exit
di nuovo per uscire dall'ambiente e riavviare il sistema.
Istruzioni per l'utilizzo di una tastiera USB o se il sistema è un ospite virtuale
Nota che i passaggi sopra menzionati potrebbero portarti a un prompt senza accesso a una tastiera USB e non funzionare in una VM come KVM o VirtualBox. Per reimpostare la password di root in questi ambienti:
1) aggiungi rd.break
invece di init=/bin/sh
alla fine della riga che inizia con linux
in Grub2:
2) all'avvio del sistema, eseguire il comando seguente per rimontare il filesystem di root in modalità di lettura-scrittura:
mount -o remount,rw /sysroot
3) quindi eseguire:
chroot /sysroot
4) corri:
passwd
5) istruire SELinux a rietichettare tutti i file al riavvio (perché il /etc/shadow
il file è stato modificato al di fuori del suo normale contesto SELinux) — esegui:
touch /.autorelabel
Tieni presente che l'operazione potrebbe richiedere del tempo durante il prossimo avvio.
6) digita exit
per uscire dall'ambiente chroot.
7) digita exit
per disconnettersi, nota che questo riavvierà anche il sistema.
Il sistema si riavvierà, applicherà nuovamente tutte le etichette SELinux e ti presenterà una normale richiesta di accesso.