it-swarm.com.de

Wie können wir das Root-Passwort ändern?

Wie können wir das Root-Passwort ändern, wenn wir das Root-Passwort nicht kennen und keinen Root-Zugriff auf den Computer haben?

40
monu

Hier sind einige Möglichkeiten, die ich mir vorstellen kann, von den am wenigsten aufdringlichen bis zu den aufdringlichsten.

Ohne neu zu starten

Mit Sudo : Wenn Sie Sudo Berechtigungen zum Ausführen von 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. Erledigt.

Bearbeiten von Dateien: Dies funktioniert in dem unwahrscheinlichen Fall, dass Sie keinen vollständigen Sudo Zugriff haben, aber Sie haben Zugriff auf bearbeiten /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 :) mit dem Passwortfeld Ihres eigenen Benutzers. Speichern. Der lokale hat das gleiche Passwort wie Sie. Melden Sie sich an und ändern Sie das Passwort in etwas anderes.

Das sind die einfachen.

Neustart erforderlich

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. Einige booten Für Loader-Konfigurationen ist hierfür ein Kennwort erforderlich, das Sie kennen müssen, um fortfahren zu können. Ohne weiteres:

  1. Starten Sie neu.
  2. Geben Sie ggf. das Startzeitkennwort ein.
  3. Rufen Sie das Menü Ihres Bootloaders auf.
  4. Wenn der Einzelbenutzermodus verfügbar ist, wählen Sie diesen aus (Debian nennt ihn "Wiederherstellungsmodus").
  5. Wenn nicht, führen Sie GRUB aus:
    1. Markieren Sie Ihre normale Startoption.
    2. Drücken Sie e um in den Bearbeitungsmodus zu wechseln. Möglicherweise werden Sie dort nach einem GRUB Passwort) gefragt.
    3. Markieren Sie die Zeile beginnend mit kernel oder linux.
    4. Drücken Sie e.
    5. Fügen Sie am Ende das Wort "single" hinzu. (Vergessen Sie nicht, ein Leerzeichen voranzustellen!)
    6. Drücken Sie Enter und starten Sie die bearbeitete Zeilengruppe. Einige GRUBs verwenden Ctrl- -X, einige verwenden b. Es sagt, welches es am unteren Rand des Bildschirms ist.

Ihr System wird im Einzelbenutzermodus gestartet. Einige Distributionen werden Sie zu diesem Zeitpunkt nicht nach einem Root-Passwort fragen (Debian und Debian-basierte). Du bist jetzt Wurzel. Ä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 Trick im Einzelbenutzermodus, mit weitgehend denselben Anweisungen, erfordert jedoch viel mehr Fähigkeiten in der Befehlszeile. Sie booten Ihren Kernel wie oben, aber anstelle von single fügen Sie init=/bin/sh. Dies wird ausgeführt /bin/sh anstelle von init und gibt Ihnen eine sehr frühe Shell mit fast keinen Annehmlichkeiten. An diesem Punkt ist Ihr Ziel:

  1. Hängen Sie das Root-Volume ein.
  2. Bringen Sie passwd zum Laufen.
  3. Ändern Sie Ihr Passwort mit dem Befehl passwd.

Abhängig von Ihrem speziellen Setup können diese trivial sein (identisch mit den Anweisungen für den Einzelbenutzermodus) oder höchst nicht trivial: Laden von Modulen, Initialisieren von Software-RAID, Öffnen verschlüsselter Volumes, Starten von LVM usw. Ohne init führen Sie keine Dæmons oder andere Prozesse aus, sondern /bin/sh und seine Kinder, also bist du buchstäblich alleine. Sie haben auch keine Jobkontrolle, seien Sie also vorsichtig, was Sie eingeben. Ein falsch platziertes cat und Sie müssen möglicherweise neu starten, wenn Sie nicht herauskommen können.

Rescue Disk: das ist einfach. Starten 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

Offensichtlich $SOME_ROOT_DEV ist der Name des Blockgeräts, der Ihrem Root-Dateisystem von der Rettungsdiskette zugewiesen wird, und $EDITOR ist Ihr Lieblingseditor (der auf dem Rettungssystem möglicherweise vi sein muss). Lassen Sie den Computer nach dem reboot normal starten. Das Passwort von root ist das Ihres eigenen Benutzers. Melden Sie sich als root an und ändern Sie es sofort.

Andere Möglichkeiten

Offensichtlich gibt es unzählige Variationen zu den oben genannten. Sie alle laufen auf zwei Schritte hinaus:

  1. Erhalten Sie Root-Zugriff auf den Computer (catch-22 - und der wahre Trick)
  2. Ändern Sie das Passwort von root irgendwie.
64
Alexios

Das sollte bei fast jeder Distribution funktionieren, denke ich.

Wenn Sie von einem anderen System aus auf die Root-Partition zugreifen können, z. eine Live-CD können Sie als Root von dort aus bearbeiten /etc/shadow; zuerst musst du 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, damit 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 an der Anmeldeaufforderung eingeben und es wird nicht nach einer gefragt. Sie können dann passwd verwenden, um eine festzulegen.

Um besonders vorsichtig zu sein:

  • Erstellen Sie eine Sicherungskopie von /etc/shadow zuerst.
  • Melden Sie sich nur als root an, bis Sie ein neues Passwort festgelegt haben. Dies ist nicht kritisch, schützt aber vor der theoretischen Möglichkeit, dass nichtprivilegierte Malware eine Art Hagel Mary Pass ("Hey, vielleicht gibt es kein Root-Passwort ...") erstellt. Ein bisschen weit hergeholte IMO.
7
goldilocks

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 das Root-Passwort vergessen wird, können Sie im Einzelbenutzermodus booten und damit das Passwort ändern. Dieser Ansatz wird in Schritt-für-Schritt-Anleitung von Red Hat beschrieben:

  1. Rufen Sie das Menü GRUB] auf und drücken Sie e .
  2. Wählen Sie die Zeile, die mit kernel beginnt, und drücken Sie e nochmal.
  3. Setzen Sie am Ende dieser Zeile single. Dann drücken ENTER und boot davon.

Sie gelangen schließlich zu einer Eingabeaufforderung, in der Sie passwd root Eingeben und das Kennwort ändern können. Geben Sie dann reboot ein, um das System neu zu starten.

4
Renan