Haben Sie sich jemals gefragt, wie Sie Ihr Root-Passwort auf einem System zurücksetzen können, wenn Sie es völlig vergessen haben? Bis vor kurzem konnten Sie einfach die GRUB-Kerneloptionen ändern, um in den Einzelbenutzermodus zu booten, oder init anweisen, eine Shell mit /bin/bash oder ähnlichem zu erzeugen. Mit Red Hat Enterprise Linux 7 oder CentOS 7 hat sich das Spiel um ein paar weitere Schritte verändert, die unten stehende Anleitung zeigt Ihnen, wie es geht!
Bitte beachten Sie:Wenn das Dateisystem verschlüsselt ist, funktioniert diese Anleitung nicht!
Die Schritte unterscheiden sich je nachdem, ob Ihr Computer ein virtueller Gast ist, der eine virtualisierte Umgebung wie KVM oder VirtualBox mit einer USB-Tastatur verwendet, oder ob Sie sich auf einem Standard-RHEL/CentOS-Computer befinden. Die ersten Anweisungen beziehen sich auf eine Standardmaschine. Scrollen Sie in diesem Artikel nach unten, wenn Sie einen virtuellen Gast verwenden.
Zurücksetzen des Passworts auf einem Standard-RHEL/CentOS-Rechner
1) Booten Sie Ihr System und warten Sie, bis das GRUB2-Menü erscheint.
2) Markieren Sie im Boot-Menü einen beliebigen Eintrag und drücken Sie
e
.3) Finden Sie die Zeile, die mit linux beginnt. Am Ende dieser Zeile fügen Sie Folgendes hinzu:
init=/bin/sh
Hinweis:Wenn Sie feststellen, dass Sie unter einer Kernel-Panik leiden, ändern Sie statt „ro“ zu „rw“ zu sysroot, wie im folgenden Beispiel:
rw init=/sysroot/bin/sh
4) Drücken Sie F10 oder Strg+X, um das System mit den gerade bearbeiteten Optionen zu booten.
Sobald das System hochfährt, wird Ihnen ein Shell-Prompt angezeigt, ohne dass Sie einen Benutzernamen oder ein Passwort eingeben müssen:
sh-4.2#
5) Laden Sie die installierte SELinux-Richtlinie:
sh-4.2# /usr/sbin/load_policy -i
6) Führen Sie den folgenden Befehl aus, um Ihre Root-Partition neu zu mounten:
sh4.2# mount -o remount,rw /
7) Setzen Sie das Root-Passwort zurück:
sh4.2# passwd root
Wenn Sie dazu aufgefordert werden, geben Sie Ihr neues Root-Passwort ein und bestätigen Sie mit der Eingabetaste. Geben Sie das Passwort ein zweites Mal ein, um sicherzustellen, dass Sie es richtig eingegeben haben, und bestätigen Sie es erneut mit der Eingabetaste. Wenn beide Passwörter übereinstimmen, erscheint eine Meldung, die Sie über die erfolgreiche Änderung des Root-Passworts informiert.
8) Hängen Sie die Root-Partition erneut ein, diesmal als schreibgeschützt:
sh4.2# mount -o remount,ro /
9) Starten Sie das System neu. Von nun an können Sie sich als Root-Benutzer mit dem neuen Passwort anmelden, das während dieses Vorgangs eingerichtet wurde. Um das System neu zu starten, geben Sie exit
ein und exit
erneut, um die Umgebung zu verlassen und das System neu zu starten.
Anweisungen zur Verwendung einer USB-Tastatur oder wenn das System ein virtueller Gast ist
Beachten Sie, dass die oben genannten Schritte Sie möglicherweise zu einer Eingabeaufforderung ohne Zugriff auf eine USB-Tastatur führen und nicht in einer VM wie KVM oder VirtualBox funktionieren. So setzen Sie das Root-Passwort in diesen Umgebungen zurück:
1) füge rd.break
hinzu statt init=/bin/sh
bis zum Ende der Zeile, die mit linux
beginnt in Grub2:
2) Wenn das System hochfährt, führen Sie den folgenden Befehl aus, um das Root-Dateisystem im Lese-/Schreibmodus neu einzuhängen:
mount -o remount,rw /sysroot
3) Führen Sie dann Folgendes aus:
chroot /sysroot
4) ausführen:
passwd
5) Weisen Sie SELinux an, alle Dateien beim Neustart neu zu benennen (weil die Datei /etc/shadow
Datei wurde außerhalb ihres regulären SELinux-Kontextes geändert) — run:
touch /.autorelabel
Beachten Sie, dass dies beim nächsten Booten einige Zeit dauern kann.
6) geben Sie exit
ein um die Chroot-Umgebung zu verlassen.
7) Geben Sie exit
ein Beachten Sie, dass beim Abmelden auch das System neu gestartet wird.
Das System wird neu gestartet, wendet alle SELinux-Labels erneut an und präsentiert Ihnen eine reguläre Anmeldeaufforderung.