Login schließen
Hinweis: In Ihrem Browser müssen Cookies und JavaScript aktiviert sein!
Login login
Linux-root-Passwort zurücksetzen (ohne passwd)

Heute habe ich mich aus meiner Gnublin-Bastelplatine ausgesperrt. Ich hatte die Wlan-Konfiguration kaputtgemacht, so dass ich mich nicht mehr per SSH einloggen konnte. Also Notfallvariante – USB-Kabel anstecken und den Fehler per serieller Konsole beheben. Nun stand ich aber vor dem Problem, dass ich das root-Passwort vergessen hatte. Normalerweise brauch ich das nicht, denn für SSH nutze ich public keys.

Ich musste also irgendwie das root-Passwort zurücksetzen. Zunächst habe ich Google befragt, wie das am schnellsten zu erledigen wäre. In den Google-Ergebnissen tauchten immer wieder die folgenden zwei Vorschläge auf:

  • single oder init=/bin/bash als zusätzliche Bootparameter im Bootloader angeben um die Passwortabfrage zu umgehen und anschließend mit passwd ein neues Passwort setzen
  • das Dateisystem mittels einer Live-CD oder auf einem anderen Rechner mounten, mit chroot dieses Dateisystem als Rootverzeichnis festlegen und dann mit passwd ein neues Passwort setzen

Allerdings war für mich beides nicht möglich. Der Apex-Bootloader bietet während des Bootvorgangs keine Möglichkeit, die Bootparameter zu ändern und chroot funktionierte auch nicht, da das Gnublin-Board einen ARM-Prozessor hat und mein x64-Rechner folglich mit den Programmen auf der Gnublin-Partition nichts anfangen kann.

Also hieß es etwas tiefer ins Linux-System eintauchen und selber Hand anlegen:

Traditionell sind die Linux-Passwörter in der Datei /etc/passwd gespeichert. Man braucht nur diese Datei mit root-Rechten zu öffnen, die Zeile für den root-Benutzer zu suchen und alles zu löschen, was in dieser Zeile zwischen dem ersten und dem zweiten Doppelpunkt steht.

Falls zwischen diesen beiden Doppelpunkten ein x steht, muss man aufpassen: Dieses x bedeutet, dass sich das eigentliche Passwort in der (für normale Nutzer nicht zugänglichen) Datei /etc/shadow befindet. In diesem Fall sollte man die Datei /etc/passwd unverändert lassen und die Änderung in /etc/shadow durchführen. Das Löschen des x in /etc/passwd würde zwar auch funktionieren, aber die Folge wäre, dass das Passwort für das root-Konto in Zukunft direkt in /etc/passwd gespeichert wird. Aus Sicherheitsgründen ist /etc/shadow jedoch besser.

Abspeichern, fertig. Das root-Konto hatte nun kein Passwort mehr und ich konnte mich ohne Passwortabfrage per serieller Konsole als root einloggen, die Wlan-Einstellungen korrigieren – und schließlich noch mit passwd ein neues root-Passwort setzten.

veröffentlicht am 18.02.15 um 0:39 Uhr
Tags: Computer, Linux

Kommentare
1 Markus schrieb am 25.04.21 um 15:42 Uhr:

Wie soll man sich denn bitte root eine Datei bearbeiten, wenn einem eben dieses root-Passwort fehlt?

2 Stefan schrieb am 05.11.21 um 10:16 Uhr:

@Markus
Da das System sicherlich nicht verschlüsselt war, konnte Johannes das System einfach in einem Linux als zusätzliche Festplatte/Speicher mounten. Dort hat er sich einfach als root zum Verzeichnis durchgehangelt und die Dateien bearbeitet.
So könnte ich es mir vorstellen.

Viele Grüße
Stefan

3 Johannes schrieb am 05.11.21 um 10:21 Uhr:

Genau. Man benötigt nur das Root-Passwort des Systems, mit dem man arbeitet – in diesem Fall mein Notebook. Dann kann man Speichermedien von anderen Systemen mounten und hat auch auf diesen Rootrechte.

Kommentar verfassen

Name (notwendig)
Email (optional, wird nicht veröffentlicht)
Homepage (optional)

Kommentar:


Bitte übertrage die Zahl in umgekehrter Reihenfolge in das Feld Spamschutz!

Spamschutz (notwendig)