Wenn wir das Root-Passwort nicht kennen und keinen Root-Zugriff auf die Maschine haben, wie können wir das Root-Passwort ändern?
Akzeptierte Antwort:
Hier sind ein paar Möglichkeiten, die mir einfallen, von der am wenigsten aufdringlichen bis zur aufdringlichsten.
Ohne Neustart
Mit sudo: wenn Sie sudo
haben Berechtigungen zum Ausführen von passwd
, können Sie Folgendes tun:
sudo passwd root
Geben Sie Ihre ein Passwort und geben Sie dann zweimal ein neues Passwort für root ein. Fertig.
Dateien bearbeiten :Dies funktioniert in dem unwahrscheinlichen Fall, dass Sie kein vollständiges sudo
haben zugreifen, aber Sie tun Zugriff zum Bearbeiten von /etc/{passwd,shadow}
haben . Ö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 :
) mit dem Passwortfeld Ihres eigenen Benutzers. Speichern. Der Local hat das gleiche Passwort wie Sie. Melden Sie sich an und ändern Sie das Passwort in ein anderes.
Dies sind die einfachen.
Neustart erforderlich
Einzelbenutzermodus :Das 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. Einige Bootloader-Konfigurationen erfordern dazu ein Passwort, und Sie müssen das kennen, um fortfahren zu können. Ohne weiteres:
- Neu starten.
- Geben Sie das Startpasswort ein, falls vorhanden.
- Gehen Sie in das Menü Ihres Bootloaders.
- 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 gelangen. Möglicherweise werden Sie dort nach einem GRUB-Passwort gefragt.
- Markieren Sie die Zeile, die mit
kernel
beginnt oderlinux
. - Drücken Sie e .
- Fügen Sie am Ende das Wort „einzeln“ hinzu. (Leerzeichen nicht vergessen!)
- Drücken Sie Enter und booten Sie die bearbeitete Strophe. Einige GRUBs verwenden Strg –X , einige verwenden b . Unten auf dem Bildschirm steht, um welches es sich handelt.
Ihr System wird im Einzelbenutzermodus gestartet. Einige Distributionen werden Sie an dieser Stelle 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).
Ersetzen von init
:oberflächlich ähnlich dem Single-User-Modus-Trick, mit weitgehend den gleichen Anweisungen, erfordert aber viel mehr Geschick mit der Befehlszeile. Sie booten Ihren Kernel wie oben, aber statt single
, fügen Sie init=/bin/sh
hinzu . Dadurch wird /bin/sh
ausgeführt anstelle von init
, und geben Ihnen ein sehr frühe Schale mit fast keinen Annehmlichkeiten. An diesem Punkt ist Ihr Ziel:
- Mounten Sie das Root-Volume.
- Holen Sie sich
passwd
läuft. - Ändern Sie Ihr Passwort mit
passwd
Befehl.
Abhängig von Ihrem speziellen Setup können diese trivial (identisch mit den Anweisungen für den Einzelbenutzermodus) oder sehr nicht trivial sein:Laden von Modulen, Initialisieren von Software-RAID, Öffnen verschlüsselter Volumes, Starten von LVM usw. Ohne init
, Sie führen keine Dämonen oder andere Prozesse aus, sondern /bin/sh
und seine Kinder, also bist du buchstäblich auf dich allein gestellt. Sie haben auch keine Jobkontrolle, seien Sie also vorsichtig, was Sie eingeben. Eine verlegte cat
und Sie müssen möglicherweise neu starten, wenn Sie nicht herauskommen.
Rettungsdiskette :Das ist einfach. Booten Sie eine Rettungsdiskette Ihrer Wahl. Mounten Sie Ihr Root-Dateisystem. 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
Offensichtlich $SOME_ROOT_DEV
ist der Blockgerätename, der Ihrem Root-Dateisystem von der Rettungsdiskette und $EDITOR
zugewiesen wird ist Ihr Lieblingseditor (was möglicherweise vi
sein muss am Rettungssystem). Nach dem reboot
, lassen Sie die Maschine normal booten; Das Passwort von root ist das Ihres eigenen Benutzers. Melden Sie sich als root an und ändern Sie es sofort.
Andere Wege
Offensichtlich gibt es unzählige Variationen zu den oben genannten. Sie laufen alle auf zwei Schritte hinaus:
- Verschaffen Sie sich Root-Zugriff auf den Computer (catch-22 – und der eigentliche Trick)
- Ändern Sie irgendwie das Passwort von root.