Wie können wir das root-Passwort ändern, wenn wir das root-Passwort nicht kennen und keinen root-Zugang zum Computer haben?
Wie können wir das root-Passwort ändern, wenn wir das root-Passwort nicht kennen und keinen root-Zugang zum Computer haben?
Antworten:
Hier sind ein paar Möglichkeiten, die ich mir vorstellen kann, von den am wenigsten aufdringlichen bis zu den am meisten aufdringlichen.
Mit sudo: Wenn Sie die sudo
Berechtigung zum Ausführen haben passwd
, können Sie Folgendes tun:
sudo passwd root
Geben Sie Ihr Passwort ein und geben Sie dann zweimal ein neues Passwort für root ein. Getan.
Bearbeiten von Dateien : Dies funktioniert in dem unwahrscheinlichen Fall , dass Sie nicht über vollen sudo
Zugang, aber Sie tun Zugang zu bearbeiten haben /etc/{passwd,shadow}
. Öffnen Sie /etc/shadow
entweder mit sudoedit /etc/shadow
oder mit sudo $EDITOR /etc/shadow
. Ersetzen Sie das Passwortfeld von root (alle zufälligen Zeichen zwischen dem zweiten und dritten Doppelpunkt :
) durch das Passwortfeld Ihres Benutzers. Sparen. Der Local hat das gleiche Passwort wie Sie. Melden Sie sich an und ändern Sie das Passwort in etwas anderes.
Das sind die Einfachen.
Einzelbenutzermodus : Dies wurde gerade von Renan erklärt. Es funktioniert, wenn Sie zu GRUB (oder Ihrem Bootloader) gelangen und die Linux-Befehlszeile bearbeiten können. Es funktioniert nicht, wenn Sie Debian, Ubuntu und einige andere verwenden. Für einige Bootloader-Konfigurationen ist ein Kennwort erforderlich, und Sie müssen dies wissen, um fortfahren zu können. Ohne weiteres:
kernel
oder beginnt linux
.Ihr System wird im Einzelbenutzermodus gestartet. Einige Distributionen werden Sie zu diesem Zeitpunkt nicht nach einem root-Passwort fragen (Debian und Debian-basierte tun dies). Du bist jetzt root. Ändern Sie Ihr Passwort:
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
und reboot
, oder, wenn Sie Ihren normalen Runlevel kennen, sagen Sie telinit 2
(oder was auch immer es ist).
Ersetzeninit
: Äußerlich ähnlich dem Einzelbenutzermodus-Trick, mit weitgehend denselben Anweisungen, erfordert jedoch viel mehr Geschick mit der Befehlszeile. Sie booten Ihren Kernel wie oben, aber stattdessen single
fügen Sie hinzu init=/bin/sh
. Dies wird /bin/sh
anstelle von ausgeführt init
und gibt Ihnen eine sehr frühe Hülle mit fast keinen Annehmlichkeiten. An diesem Punkt ist Ihr Ziel:
passwd
Lauf los .passwd
Befehl.Abhängig von Ihrer speziellen Konfiguration sind diese möglicherweise trivial (identisch mit den Anweisungen für den Einzelbenutzermodus) oder äußerst nicht trivial: Laden von Modulen, Initialisieren von Software-RAID, Öffnen verschlüsselter Volumes, Starten von LVM usw. Ohne führen init
Sie keine Dæmons oder andere Prozesse aus, sondern nur /bin/sh
deren Kinder. Sie sind also buchstäblich allein. Sie haben auch keine Job-Kontrolle, seien Sie also vorsichtig, was Sie tippen. Einer ist verlegt, cat
und Sie müssen möglicherweise neu starten, wenn Sie nicht wieder herauskommen.
Rettungsdiskette : Diese ist einfach. Booten Sie eine Rettungsdiskette Ihrer Wahl. Hängen Sie Ihr Root-Dateisystem ein. Der Prozess hängt davon ab, wie Ihre Volumes geschichtet sind, läuft aber letztendlich auf Folgendes hinaus:
# 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
Unabhängig davon, $SOME_ROOT_DEV
welcher Block-Gerätename von der Rettungsdiskette Ihrem Root-Dateisystem zugewiesen wurde und $EDITOR
welcher Editor Ihr Favorit ist (der sich möglicherweise vi
auf dem Rettungssystem befinden muss). Nach dem reboot
, erlauben normalerweise die Maschine zu booten; Das root-Passwort ist das Ihres eigenen Benutzers. Melden Sie sich als root an und ändern Sie es sofort.
Offensichtlich gibt es unzählige Variationen zu den oben genannten. Sie alle lassen sich in zwei Schritten zusammenfassen:
Das sollte bei fast jeder Distribution funktionieren, denke ich.
Wenn Sie von einem anderen System aus auf die Root-Partition zugreifen können, z. B. von einer Live-CD, können Sie von dort aus als Root die Partition bearbeiten /etc/shadow
. zuerst musst du chmod u+w shadow
. Finde den Eintrag für root
, es ist wahrscheinlich der erste und sieht ungefähr so aus:
root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::
Löschen Sie alles zwischen den ersten beiden Doppelpunkten, damit Sie Folgendes erhalten:
root::15666:0:99999:7:::
Dann chmod u-w shadow
. Sie können jetzt das System neu starten und root hat kein Passwort. Sie können einfach root
an der Anmeldeaufforderung eingeben und es wird nicht nach einem gefragt. Sie können dann verwenden passwd
, um eine festzulegen.
Um besonders vorsichtig zu sein:
/etc/shadow
.passwd
von der Live-CD in einer Chroot-Umgebung zu laufen ?
/etc/shadow
Nach den Tags zu urteilen, nehme ich an, dass Sie RHEL verwenden, aber diese Lösung sollte für alle Distributionen gleich gut funktionieren.
Wenn Sie das root-Passwort vergessen haben, können Sie im Einzelbenutzermodus booten und damit das Passwort ändern. Dieser Ansatz wird in der schrittweisen Anleitung zu Red Hat beschrieben :
kernel
, und drücken Sie eerneut.single
. Dann drücken ENTERund bloslegen.Sie erhalten schließlich eine Eingabeaufforderung, in der Sie passwd root
das Kennwort eingeben und ändern können. Geben Sie dann reboot
das System neu zu starten.
/boot/grub/grub.conf
das Bootloader-Kennwort entfernen und /etc/inittab
die Einzelbenutzer-Shell in / bin / sh (cc @pradeepchhetri)