Hier sind ein paar Möglichkeiten, die mir einfallen, von den am wenigsten aufdringlichen bis zu den am meisten aufdringlichen.
Mit sudo: Wenn Sie sudo
Rechte für passwd
haben, 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. Fertig.
Dateien bearbeiten: Dies funktioniert für den unwahrscheinlichen Fall, dass Sie keinen vollen sudo
-Zugang haben, aber Sie haben Zugang zum Bearbeiten von /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 eigenen Benutzers. Speichern Sie. Der lokale Benutzer hat das gleiche Passwort wie Sie. Loggen Sie sich ein und ändern Sie das Passwort auf etwas anderes.
Das sind die einfachen.
Reboot erforderlich
Einzelbenutzermodus: Dies wurde gerade von Renan erklärt. Er funktioniert, wenn Sie auf GRUB (oder Ihren Bootloader) zugreifen können und die Linux-Kommandozeile bearbeiten können. Er funktioniert nicht, wenn Sie Debian, Ubuntu und einige andere verwenden. Einige Bootloader-Konfigurationen erfordern ein Passwort, und das müssen Sie wissen, um fortzufahren. Ohne weiteres:
- Neustart.
- Eingabe des Bootzeit-Passworts, falls vorhanden.
- Geben Sie das Menü Ihres Bootloaders ein.
- Wenn der Einzelbenutzermodus verfügbar ist, wählen Sie diesen aus (Debian nennt ihn „Wiederherstellungsmodus“).
- Wenn nicht, und Sie GRUB starten:
- Hervorheben Sie Ihre normale Boot-Option.
- Drücken Sie e, um den Bearbeitungsmodus zu öffnen. Möglicherweise werden Sie dort nach einem GRUB-Passwort gefragt.
- Hervorheben Sie die Zeile, die mit
kernel
oderlinux
beginnt. - Drücken Sie e.
- Fügen Sie das Wort „single“ am Ende hinzu. (Vergessen Sie nicht, ein Leerzeichen voranzustellen!)
- Drücken Sie Enter und booten Sie die bearbeitete Stanza. Einige GRUBs verwenden Ctrl-X, andere b. Welches das ist, steht unten auf dem Bildschirm.
Ihr System wird im Einzelbenutzermodus booten. Bei einigen Distributionen werden Sie an dieser Stelle nicht nach einem Root-Passwort gefragt (bei Debian und Debian-basierten Distributionen schon). Sie sind jetzt root. Ändern Sie Ihr Passwort:
mount / -o remount,rwpasswd # Enter your new password twice at the promptsmount / -o remount,rosync # 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 das ist).
Ersetzen von init
: Oberflächlich gesehen ähnlich wie der Trick mit dem Einzelbenutzermodus, mit weitgehend den gleichen Anweisungen, erfordert aber viel mehr Geschicklichkeit mit der Kommandozeile. Sie booten Ihren Kernel wie oben, aber statt single
fügen Sie init=/bin/sh
ein. Dadurch wird /bin/sh
anstelle von init
ausgeführt, und Sie erhalten eine sehr frühe Shell mit fast keinen Annehmlichkeiten. An diesem Punkt ist Ihr Ziel:
- Mounten Sie das Root-Volume.
- Starten Sie
passwd
. - Ändern Sie Ihr Passwort mit dem Befehl
passwd
.
Abhängig von Ihrer speziellen Einrichtung können diese Aufgaben trivial sein (identisch mit den Anweisungen für den Einzelbenutzermodus) oder höchst untrivial: Module laden, Software-RAID initialisieren, verschlüsselte Volumes öffnen, LVM starten und so weiter. Ohne init
führen Sie keine Dæmons oder andere Prozesse aus, sondern /bin/sh
und seine Kinder, Sie sind also buchstäblich auf sich allein gestellt. Sie haben auch keine Job-Kontrolle, also seien Sie vorsichtig, was Sie tippen. Ein falsches cat
und Sie müssen möglicherweise neu starten, wenn Sie nicht mehr herauskommen.
Rescue Disk: Dies 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 darauf 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
Natürlich ist $SOME_ROOT_DEV
der Block-Device-Name, der Ihrem Root-Dateisystem von der Rettungsplatte zugewiesen wurde, und $EDITOR
ist Ihr bevorzugter Editor (der auf dem Rettungssystem vi
sein muss). Nach dem reboot
lassen Sie den Rechner normal booten; das Passwort von root wird das Ihres eigenen Benutzers sein. Loggen Sie sich als root ein und ändern Sie es sofort.
Andere Wege
Natürlich gibt es unzählige Variationen des obigen Vorgehens. Sie laufen alle auf zwei Schritte hinaus:
- Beschaffen Sie sich Root-Zugriff auf den Computer (der Haken an der Sache – und der eigentliche Trick)
- Ändern Sie das Root-Passwort irgendwie.