Root Passwort vergessen! Und nun?
Wem ist das heutzutage noch nicht passiert? Bei den unzähligen Passwörtern die sich bereits ein Otto-Normal Verbraucher für den Umgang im Internet merken muss, wundert es nicht wenn selbst das eigene root Kennwort mal vergessen wird. Nur leider gibt es bei solch einer Lappalie keinen Webserver auf der anderen Seite, welcher einem vielleicht auf die hinterlegte E-Mail Adresse das vergessene Kennwort zukommen lässt oder aber auch direkt ein neues temporäres Passwort erstellt. Bei dem Verlust des root Passworts ist zwar etwas mehr Aufwand notwendig, jedoch ist auch dieser sehr überschaubar und auch ohne große Unix Kenntnisse zu stemmen.
Eines Vorweg: Gibt es einen weiteren Benutzer mit root Rechten in dem System, kann mit diesem das vergessene root Passwort mit Hilfe des Unix Befehls passwd root geändert werden.
Für das Zurücksetzen des vergessenen Benutzerpasswortes gibt es verschiedene Ansätze. Zum einen ist es möglich, das Passwort über den Wiederherstellungsmodus zurück zu setzen oder aber auch über den Boot-Loader an entsprechender Stelle zu ändern. Den nun mir gezeigten Lösungsansatz halte ich jedoch für den einfachsten und überschaubarsten.
Ausgangspunkt ist ein ausgeschalteter Computer mit einem Linux Betriebssystem, bei dem logischerweise das Root Passwort vergessen wurde. Ein Nicht-Root Authentifizierter User ist zwar hilfreich um an die meisten Daten auf dem Betriebssystem zu gelangen, jedoch ist es mit solch einem Benutzer nicht möglich das vergessene root Passwort zurückzusetzen, da die Bearbeitung / Manipulation bestimmter Dateien wiederum root Rechte benötigt.
Der einfachste Weg das vergessene root Passwort zurückzusetzen, ist die Verwendung einer Live-CD. Eine Live-CD ist eine CD, mit dessen Hilfe on-the-fly ein beliebiges (in diesem Fall Linux) Betriebssystem gestartet werden kann (Heutzutage sind die meisten Linux Betriebssystem CD’s Live-CD’s). Hierzu ist es lediglich notwendig, dem PC während des Start Vorganges mitzuteilen, das dieser von der eingelegte CD booten soll. Oft ist das Starten von CD als Standard in dem BIOS eingestellt, andernfalls ist eine Anpassung in den jeweiligen Einstellungen notwendig.
Live-CD
Wer beispielsweise bereits eine Ubuntu CD (oder ein anderes Linux Derivat wie z.B. Knoppix, Damn Small Linux, Kubuntu, …) in der Nähe liegen hat, darf gerne auf diese zurückgreifen. Alternativ kann die aktuellste Ubuntu Version auf der offiziellen Ubuntu Homepage heruntergeladen werden.
Download Ubuntu
http://www.ubuntu.com/download/ubuntu/download
Das Image muss lediglich auf ein Rohling gepresst werden um das Betriebssystem anschließend von der CD starten zu können.
Terminal
Nach erfolgreichem booten der Live-CD ist es zunächst einmal notwendig -wenn nicht bereits in einem Terminal gestartet-, einen Terminal zu öffnen. Im nächsten Schritt muss die Partition um die es sich handelt, in das Live-System eingebunden werden. Damit auch die richtige Partition aus der Partitionstabelle ausgelesen und später in das Live-System eingebunden wird, ist es zunächst notwendig mit folgendem Befehl die Partitionstabelle auszulesen.
sudo fdisk -l
Bei der Ausführung von fdisk unbedingt darauf achten, diesen Befehl mit sudo (oder anderen root Rechten) abzusetzen, da sonst eine leere Ergebnismenge zurückgeliefert wird.
Eine mögliche Partitionstabelle könnte wie folgt aussehen:
Platte /dev/sda: 500.1 GByte, 500107862016 Byte 255 Köpfe, 63 Sektoren/Spur, 60801 Zylinder Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xfbc39217 Gerät boot. Anfang Ende Blöcke Id System /dev/sda1 * 1 13055 104864256 7 HPFS/NTFS /dev/sda2 13056 19321 50330624 83 Linux /dev/sda3 19322 19582 2096482+ 82 Linux Swap / Solaris /dev/sda4 19583 60801 331091587 5 Erweiterte /dev/sda5 19583 45690 209712478+ 7 HPFS/NTFS /dev/sda6 45691 60801 121379076 7 HPFS/NTFS
Partition mounten
Im nächsten Schritt muss die Linux Partition (in diesem Beispiel /dev/sda2) in das Live System eingebunden werden. Dies passiert über den den Unix Befehl mount.
Hinweis: SATA Festplatten werden mit sda gekennzeichnet, IDE Festplatten in der Regel mit hda.
mount /dev/sda2 /mnt/
Das Benutzerbetriebssystem befindet sich nun in der Ordnerhierarchie des Live Systems. Alle unter /dev/mnt/ angesprochenen Ordner betreffen das Betriebssystem, bei welchem das root Passwort abhanden gekommen ist.
Möglichkeit 1: chroot
Mit dem Unix Befehl passwd das vergessene Passwort als neuer root (chroot) neu vergeben:
chroot /mnt passwd <Passwort ändern>
Möglichkeit 2: /etc/shadow
Die /etc/shadow Textdatei beinhaltet hoch sensible Daten über die im System registrierten Benutzer, weshalb diese Datei nur mit root Rechten bearbeitet werden kann.
Die /etc/shadow Datei ist eine zeilenweise mit Doppelpunkten getrennte Textdatei, die wie folgt aufgebaut:
Aufbau der /etc/shadow
<login name>:<encrypted password>:<date of last password change>:<minimum password age>:<maximum password age>:<password warning period>:<password inactivity period>:<account expiration date>:<reserved field>
/etc/shadow bearbeiten
Zum bearbeiten der /etc/shadow benutzen wir den Standard Texteditor vi.
sudo vi /etc/shadow
Zum Löschen des root Passworts wird folgende Zeile wie folgt geändert.
Vorher (mit Beispiel Passwort):
root:$6$bHsXq2UD$5ox1BKQ9y/Fa2aVDAMuic2tRiZrNNm2ibg1.m7SQtJ7eJVUhPIkS3T6GET/13yE8M7rO9nsHaFj2lFI5rgA0a0:15197:0:99999:7:::
Nachher:
root::15197:0:99999:7:::
Das Kennwort des root Benutzers wird schlicht und einfach aus der Datei gelöscht.
Reboot
Nachdem die shadow-Datei erfolgreich manipuliert wurde, kann das Betriebssystem nun ganz normal gestartet werden. Der root Benutzer beantwortet zum Anmelden die Passwortabfrage mit einem einfachen Enter (leeres Passwort).
Hinweis: Der root Benutzer muss immer mit einem Passwort abgesichert sein, damit potentiellen Angreifer nicht ohne Weiteres den PC mit root Rechten bedienen können. Daher bitte unmittelbar nach dem Login das Passwort des Root Benutzers ändern. In der Konsole geht dies am einfachsten mit dem Unix Befehl passwd.




Danke für den wirklich interessanten Artikel zum Thema Root Passwort zurückzusetzen. Hat mir weitergeholfen. Bitte mach weiter so! Gruss Ralph
Wer auch einen Root-Server mit Rescue System besitzt, kann es auch so machen: http://wiki.manitu.de/index.php/Server:Root-Passwort_vergessen_und_neu_setzen