Manchmal kommt man in die Situation, dass Passwort eines Linux-Rechners zurücksetzen zu müssen. Natürlich ist die grml-LiveCD gerade beim Kumpel oder Arbeitskollegen. Aber sofern der Bootloader, meist Grub, nicht verschlüsselt ist, ist dies auch ohne möglich.
Beim Booten hängt man an die jeweilige Kernelbootzeile einfach init=/bin/bash an und bootet von dieser. Wie man Booteinträge im Grub ändert und davon bootet wird z.b. im Ubuntuusers-Wiki beschrieben.
Hier ein Beispiel:
Den Kerneleintrag
linux /vmlinuz-3.5.0-39-generic root=/dev/mapper/ubu01-root ro
ergänzt man entsprechend zu
linux /vmlinuz-3.5.0-39-generic root=/dev/mapper/ubu01-root ro init=/bin/bash
und bootet dann den entsprechenden Booteintrag.
Am Prompt angekommen mountet man das root-Dateisystem mittels
# mount -o remount,rw /
als schreibbares Dateisystem neu. Nun kann man das Passwort von root oder eines beliebigen Nutzers neu setzen.
# passwd <username>
Will man den Rechner an dieser Stelle rebooten bekommt man unter Ubuntu folgendes Problem mit upstart:
# reboot
shutdown: Unable to shutdown system
# init 6
init: Unable to connect to Upstart: Failed to connect to socket
/com/ubuntu/upstart: Connection refused
Da hilft nur der Weg über den Magic SysRq key:
# echo 1 > /proc/sys/kernel/sysrq
# echo b > /proc/sysrq-trigger
Anschließend booten wir das System normal und loggen uns mit dem neuen Passwort ein.
Mission erfolgreich.