Wenn wir das Root-Passwort nicht kennen und keinen Root-Zugriff auf den Computer haben, wie können wir das Root-Passwort ändern?
Antwort1
Hier sind ein paar Möglichkeiten, die mir einfallen, von der am wenigsten aufdringlichen bis zur aufdringlichsten.
Ohne Neustart
Mit sudo:Wenn Sie über sudo
die Berechtigung zum Ausführen verfügen passwd
, können Sie Folgendes tun:
sudo passwd root
EingebendeinPasswort, dann geben Sie zweimal ein neues Passwort für root ein. Fertig.
Dateien bearbeiten: Dies funktioniert in dem unwahrscheinlichen Fall, dass Sie keinen Vollzugriff haben sudo
, aber SieTunhaben Sie Zugriff zum Bearbeiten /etc/{passwd,shadow}
. Öffnen Sie /etc/shadow
entweder mit sudoedit /etc/shadow
oder mit sudo $EDITOR /etc/shadow
. Ersetzen Sie das Kennwortfeld von root (alle zufälligen Zeichen zwischen dem zweiten und dritten Doppelpunkt :
) durch das Kennwortfeld Ihres eigenen Benutzers. Speichern Sie. Der lokale Benutzer hat dasselbe Kennwort wie Sie. Melden Sie sich an und ändern Sie das Kennwort in ein anderes.
Das sind die einfachen.
Neustart erforderlich
Einzelbenutzermodus: Das wurde gerade von Renan erklärt. Es funktioniert, wenn Sie auf GRUB (oder Ihren Bootloader) zugreifen können und die Linux-Befehlszeile bearbeiten können. Es funktioniert nicht, wenn Sie Debian, Ubuntu und einige andere verwenden. Einige Bootloaderkonfigurationen erfordern dazu ein Passwort, und das müssen Sie kennen, um fortfahren zu können. Ohne weitere Umschweife:
- Neustart.
- Geben Sie das Startkennwort ein, sofern vorhanden.
- Rufen Sie das Menü Ihres Bootloaders auf.
- Wenn der Einzelbenutzermodus verfügbar ist, wählen Sie diesen aus (Debian nennt ihn „Wiederherstellungsmodus“).
- Wenn nicht und Sie GRUB ausführen:
- Markieren Sie Ihre normale Startoption.
- Drücken Sie e, um in den Bearbeitungsmodus zu wechseln. Möglicherweise werden Sie dort nach einem GRUB-Passwort gefragt.
- Markieren Sie die Zeile, die mit
kernel
oder beginntlinux
. - Drücken Sie e.
- Fügen Sie am Ende das Wort „Single“ hinzu. (Vergessen Sie nicht, ein Leerzeichen voranzustellen!)
- Drücken Sie Enterund booten Sie die bearbeitete Strophe. Einige GRUBs verwenden Ctrl- X, andere verwenden b. Unten auf dem Bildschirm wird angezeigt, um welches GRUB es sich handelt.
Ihr System wird im Einzelbenutzermodus gestartet. Einige Distributionen fragen Sie an dieser Stelle nicht nach einem Root-Passwort (Debian und Debian-basierte Distributionen tun dies). Sie sind 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
: oberflächlich ähnlich dem Einzelbenutzermodus-Trick, mit weitgehend denselben Anweisungen, erfordert aber viel mehr Geschick mit der Kommandozeile. Sie booten Ihren Kernel wie oben, aber statt single
fügen Sie hinzu init=/bin/sh
. Dies wird /bin/sh
anstelle von ausgeführt init
und gibt Ihnen einsehrfrühes Rohbau-Modell mit fast keiner Ausstattung. An diesem Punkt ist Ihr Ziel:
- Mounten Sie das Stammvolume.
- Lauf
passwd
los. - Ändern Sie Ihr Passwort mit dem
passwd
Befehl.
Abhängig von Ihrer speziellen Konfiguration können diese trivial (identisch mit den Anweisungen für den Einzelbenutzermodus) oder höchst nicht trivial sein: Module laden, Software-RAID initialisieren, verschlüsselte Volumes öffnen, LVM starten usw. Ohne init
führen Sie keine Dæmons oder andere Prozesse aus, sondern /bin/sh
und dessen untergeordnete Prozesse, sodass Sie buchstäblich auf sich allein gestellt sind. Sie haben auch keine Jobkontrolle, seien Sie also vorsichtig, was Sie eingeben. Wenn Sie eine falsch eingeben cat
, müssen Sie möglicherweise neu starten, wenn Sie nicht mehr herauskommen.
Notfall-CD: Das ist ganz einfach. Booten Sie eine Rettungsdiskette Ihrer Wahl. Mounten Sie Ihr Root-Dateisystem. Der Vorgang 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
Offensichtlich $SOME_ROOT_DEV
ist dies der Blockgerätename, der Ihrem Root-Dateisystem von der Rettungsdiskette zugewiesen wurde, und Ihr bevorzugter Editor (der sich möglicherweise auf dem Rettungssystem $EDITOR
befinden muss ). Lassen Sie die Maschine danach normal booten. Das Root-Passwort ist das Ihres eigenen Benutzers. Melden Sie sich als Root an und ändern Sie es sofort.vi
reboot
Andere Möglichkeiten
Natürlich gibt es unzählige Variationen des oben Gesagten. Sie alle laufen auf zwei Schritte hinaus:
- Erhalten Sie Root-Zugriff auf den Computer (Dilemma – und der eigentliche Trick)
- Ändern Sie irgendwie das Root-Passwort.
Antwort2
Ich denke, das sollte auf praktisch jeder Distribution funktionieren.
Wenn Sie von einem anderen System aus, z. B. einer Live-CD, auf die Root-Partition zugreifen können, können Sie von dort aus als Root bearbeiten /etc/shadow
; dazu müssen Sie zuerst chmod u+w shadow
. Suchen Sie 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, sodass Sie Folgendes erhalten:
root::15666:0:99999:7:::
Dann chmod u-w shadow
. Sie können das System jetzt neu starten und root hat kein Passwort. Sie können einfach root
in die Anmeldeaufforderung eingeben und es wird nicht nach einem gefragt. Sie können dann verwenden, passwd
um eins festzulegen.
Um besonders vorsichtig zu sein:
- Erstellen Sie zunächst eine Sicherungskopie
/etc/shadow
. - Melden Sie sich nicht als jemand anderes als root an, bis Sie ein neues Passwort festgelegt haben. Dies ist nicht kritisch, schützt aber vor der theoretischen Möglichkeit, dass nicht privilegierte Malware eine ArtAve Maria(„Hey, vielleicht gibt es kein Root-Passwort …“). Meiner Meinung nach ziemlich weit hergeholt.
Antwort3
Den Tags zufolge gehe ich davon aus, dass Sie RHEL verwenden, aber diese Lösung sollte für alle Distributionen gleichermaßen gut funktionieren.
Wenn Sie das Root-Passwort vergessen haben, können Sie im Einzelbenutzermodus booten und dort das Passwort ändern. Dieser Ansatz wird indie Red Hat Schritt-für-Schritt-Anleitung:
- Rufen Sie das GRUB-Menü auf und drücken Sie e.
- Wählen Sie die Zeile, die mit beginnt
kernel
, und drücken Sie eerneut. - Setzen Sie am Ende dieser Zeile
single
. Drücken Sie dann ENTERund bverlassen Sie die Zeile.
Sie werden schließlich zu einer Eingabeaufforderung weitergeleitet, wo Sie passwd root
das Kennwort eingeben und ändern können. Geben Sie dann „ reboot
Neustart des Systems“ ein.