Se non conosciamo la password di root e non abbiamo accesso come root alla macchina, come possiamo cambiare la password di root?
Risposta accettata:
Ecco alcuni modi che mi vengono in mente, dal meno invadente al più invadente.
Senza riavvio
Con sudo: se hai sudo
autorizzazioni per eseguire passwd
, puoi fare:
sudo passwd root
Inserisci tuo password, quindi inserire una nuova password per root due volte. Fatto.
Modifica dei file :funziona nel caso improbabile che tu non abbia sudo
completo accedere, ma tu fai avere accesso per modificare /etc/{passwd,shadow}
. Apri /etc/shadow
, sia con sudoedit /etc/shadow
o con sudo $EDITOR /etc/shadow
. Sostituisci il campo della password di root (tutti i caratteri casuali tra il secondo e il terzo colon :
) con il proprio campo password utente. Salva. Il locale ha la tua stessa password. Accedi e cambia la password con qualcos'altro.
Questi sono quelli facili.
Riavvio richiesto
Modalità utente singolo :Questo è stato appena spiegato da Renan. Funziona se riesci ad accedere a GRUB (o al tuo caricatore di avvio) e puoi modificare la riga di comando di Linux. Non funziona se usi Debian, Ubuntu e alcuni altri. Alcune configurazioni del caricatore di avvio richiedono una password per farlo e devi conoscerla per procedere. Senza ulteriori indugi:
- Riavvia.
- Inserisci la password di avvio, se presente.
- Entra nel menu del tuo boot loader.
- Se è disponibile la modalità utente singolo, selezionala (Debian la chiama "Modalità di ripristino").
- In caso contrario, esegui GRUB:
- Evidenzia la tua normale opzione di avvio.
- Premi e per accedere alla modalità di modifica. È possibile che ti venga richiesta una password GRUB lì.
- Evidenzia la riga che inizia con
kernel
olinux
. - Premi e .
- Aggiungi la parola "single" alla fine. (non dimenticare di anteporre uno spazio!)
- Premi Invio e avvia la stanza modificata. Alcuni GRUB usano Ctrl –X , alcuni usano b . Dice quale si trova nella parte inferiore dello schermo.
Il tuo sistema si avvierà in modalità utente singolo. Alcune distribuzioni non ti chiederanno una password di root a questo punto (quelle basate su Debian e Debian lo fanno). Ora sei root. Cambia la tua password:
mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot
e reboot
oppure, se conosci il tuo livello di esecuzione normale, pronuncia telinit 2
(o qualunque cosa sia).
Sostituzione di init
:superficialmente simile al trucco della modalità utente singolo, con in gran parte le stesse istruzioni, ma richiede molta più abilità con la riga di comando. Avvia il tuo kernel come sopra, ma invece di single
, aggiungi init=/bin/sh
. Verrà eseguito /bin/sh
al posto di init
, e ti darà un molto primo guscio quasi senza servizi. A questo punto il tuo obiettivo è:
- Monta il volume di root.
- Ottieni
passwd
in esecuzione. - Cambia la tua password con il
passwd
comando.
A seconda della configurazione particolare, questi possono essere banali (identici alle istruzioni per la modalità utente singolo) o altamente non banali:caricamento di moduli, inizializzazione del RAID software, apertura di volumi crittografati, avvio di LVM, ecc. Senza init
, non stai eseguendo dæmon o altri processi tranne /bin/sh
e i suoi figli, quindi sei letteralmente da solo. Inoltre, non hai il controllo del lavoro, quindi fai attenzione a cosa scrivi. Un cat
fuori posto e potrebbe essere necessario riavviare se non riesci a uscirne.
Disco di salvataggio :questo è facile. Avvia un disco di ripristino di tua scelta. Monta il tuo filesystem di root. Il processo dipende da come sono stratificati i tuoi volumi, ma alla fine si riduce a:
# do some stuff to make your root volume available.
# The rescue disk may, or may not do it automatically.
mkdir /tmp/my-root
mount /dev/$SOME_ROOT_DEV /tmp/my-root
$EDITOR /tmp/my-root/etc/shadow
# Follow the `/etc/shadow` editing instructions near the top
cd /
umount /tmp/my-root
reboot
Ovviamente, $SOME_ROOT_DEV
è il nome del dispositivo a blocchi assegnato al tuo filesystem di root dal disco di ripristino e da $EDITOR
è il tuo editor preferito (che potrebbe essere vi
sul sistema di soccorso). Dopo il reboot
, consentire alla macchina di avviarsi normalmente; la password di root sarà quella del tuo utente. Accedi come root e modificalo immediatamente.
Altri modi
Ovviamente, ci sono innumerevoli varianti a quanto sopra. Si riducono tutti a due passaggi:
- Ottieni l'accesso come root al computer (catch-22 — e il vero trucco)
- Cambia la password di root in qualche modo.