Du hast dein root-Passwort vergessen? Dann hast du ein ernsthaftes Problem
Inhaltsverzeichnis
Vorgehensweise
In dem Fall nimmt man seine Boot- bzw. Notfall-Diskette, die man während oder nach der Installation seines Linuxsystems erstellt haben sollte, und bootet dieses "Rettungssystem". Aber auch eine Live-CD wie z.B. Knoppix kann benutzt werden. Ist das geschehen, hat man vollen Zugriff auf die Daten seines Rechners (es sei denn, man verwendet ein EncryptedFileSystem - wer es allerdings nötig hat, so sicher zu sein, vergisst auch kein Passwort).
Die Datei /etc/shadow speichert alle Benutzernamen und Passwörter des Systems. Die Passwörter sind aber verschlüsselt, nützen in dem Fall also wenig. Der einzige Weg, wieder mit dem Computer arbeiten zu können, ist der, das Passwort zu löschen. Dadurch kann man das ursprüngliche System starten, kann sich dort ausnahmsweise ohne Passwort anmelden und sollte anschließend sofort ein neues Passwort setzen.
Um das Passwort zu löschen, muß in der Datei /etc/shadow (früher /etc/passwd) die Zeile mit dem Eintrag für den Benutzer root geändert werden. Diese Zeile lautet z.B.
root:HsgS6XiedDj8Dh6D:11656:0:10000::::
Die Zeichenfolge zwischen dem ersten und zweiten Doppelpunkt ist das verschlüsselte Passwort. Diese Zeichenfolge soll nun gelöscht werden; den Rest einfach so lassen wie er ist. Die Zeile sieht nach der Änderung daher so aus:
root::11656:0:10000::::
Anschließend kann man, wie gesagt, das System neu booten, sich ohne Passwort als root anmelden und anschließend sofort ein neues Passwort setzen.
Alternative Vorgehensweisen
Chroot-Umgebung
Alternativ kann man auch ein Rettungssystem wie Knoppix booten, dort root-Rechte annehmen (indem man eine Root-Shell öffnet), dann die Rootpartion1 mounten (mit Schreibrechten), ein chroot auf diese Partition ausführen und dann passwd ausführen, um ein neues Passwort für den Benutzer root des installierten Systems (also nicht des Rettungssystems) zu vergeben:
root@0[knoppix]# mount -w /dev/hda3 /mnt/hda3 root@0[knoppix]# chroot /mnt/hda3 Knoppix:/ # passwd Ändere Passwort für root. Neues Passwort: Geben Sie das neue Passwort erneut ein: Passwort geändert. Knoppix:/ # exit root@0[knoppix]# umount /dev/hda3
Da man root ist, wird man nicht nach einem alten Passwort gefragt, und kann gleich ein neues setzen.
Sollte man eine Fehlermeldung wie Fehler beim Ändern des Authentifizierungs-Token bekommen, fehlt dem passwd-Kommando die Entropie aus /dev/urandom (in der chroot-Umgebung sind keine Device-Nodes vorhanden, wenn udev oder devfs verwendet wird). In diesem Fall kann man noch versuchen, das Verzeichnis /dev aus Knoppix in die Rootpartition des installierten Systems zusätzlich hineinzumounten (mit der Option -o bind) und erst dann in die chroot-Umgebung zu wechseln. Gehe dazu wie folgt vor:
root@0[knoppix]# mount -w /dev/hda3 /mnt/hda3 root@0[knoppix]# mount -o bind /dev /mnt/hda3/dev root@0[knoppix]# chroot /mnt/hda3 Knoppix:/ # passwd Ändere Passwort für root. Neues Passwort: Geben Sie das neue Passwort erneut ein: Passwort
Eine weitere Möglichkeit besteht darin, im BootManager den Kernelparameter init=/bin/sh mitzugeben. Dies bewirkt, dass nach dem Laden des Kernels nicht das init-Programm, die Mutter aller Prozesse, aufgerufen wird, sondern eine Shell. Dann muss man nur noch die Rootpartion schreibbar mounten und das Rootpasswort ändern. Praktisch, dass dort (bei meinem System) nicht nach dem Passwort gefragt wird.
mount -oECON-CD. Damit kann man von CD booten, Windows mounten und das Admin-Passwort zurücksetzen. Dies ist genau das Äquivalent zur oben beschriebenen Vorgehensweise. Für diesen konkreten Aspekt kann man also nicht davon sprechen, dass Linux oder Windows eine höhere Sicherheit als das jeweils andere System aufweisen würde.
Diejenige Partition, die auf das Wurzelverzeichnis (/) gemountet wird. In unserem Beispiel ist dies hda3, weil die erste Zeile der Datei /etc/fstab des installierten Systems so lautet:
/dev/hda3 / ext3 acl... (1)