Wenn das root-Password vergessen wurde

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Wenn das root Password vergessen wurde

    Wenn man das root-Passwort vergessen hat muss man nicht gleich das ganze System neu aufsetzen..
    Man kann das verlorene Passwort zwar nicht mehr herausfinden, aber es gibt ein paar Tricks mit denen man das Passwort in den meisten Fällen ändern kann. In dieser Anleitung werde ich 3 Methoden und eine spezielle für den raspberryPI beschreiben, mit denen man relativ leicht und ohne besondere Linux-Kenntnisse das root-Passwort ändern kann ohne es zu kennen.

    • [al=m1]Methode 1[/al]: In den Einzelbenutzermodus starten
    • [al=m2]Methode 2[/al]: In eine Konsole starten
    • [al=m3]Methode 3[/al]: Passwort mit einer LiveCD ändern
    • [al=m4]Methode 4[/al]: Speziell für den RaspberryPI

    Alle drei Methoden die ich hier beschreibe haben eins gemeinsam: Man muss den Gerätenamen (zum Beispiel /dev/hda2, /dev/sda4 o.Ä.) der Partition kennen auf der sich das Stammverzeichnis befindet (auch Root-Verzeichnis oder Wurzelverzeichnis genannt, es ist das Verzeichnis mit dem Pfad “/” gemeint.) Bei der Installation von Linux werden meistens 2-3 Partitionen angelegt, meistens hat man eine sehr kleine Boot-Partition, eine ebenfalls meist eher kleine Swap-Partition und eine Partition auf der das ganze System installiert wird und auf der die Daten liegen. Den Gerätenamen letzterer muss man kennen. Wenn man diesen nicht kennt kann man diesen mit dem befehl df oder dem Befehl mount herausfinden, dazu öffnet man einfach eine Konsole und gibt mount oder df ein. Das funktioniert auch als normaler Benutzer, root-Rechte braucht man dazu nicht

    Code
    mount
    /dev/sda1 on / type ext3 (rw,errors=remount-ro)
    tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
    proc on /proc type proc (rw,noexec,nosuid,nodev)
    [...]

    Hier sieht man das der Gerätename für / gleich /dev/sda1 ist. Diesen muss man sich merken!
    (Hinweis: Der Gerätename fängt immer mit /dev/ an)


    Nun zum eigentlichen Teil dieser Anleitung
    [an=m1][/an]
    Methode 1: In den Einzelbenutzermodus starten

    Die einfachste Methode besteht darin einfach in den Einzelbenutzermodus zu starten indem man “single” an die Boot-Optionen anhängt. Manche Distributionen bieten das als “Recovery Mode” o.Ä. an, bei manchen Distributionen wird diese Methode allerdings nicht funktionieren weil vorher das root-Passwort verlangt wird, welches man ja nicht mehr weiß... Aber da es die einfachste Methode ist kann man es ja trotzdem einfach mal versuchen

    Wenn man den Rechner einschaltet wird meistens nach kurzer Zeit das Startmenü vom Bootloader angezeigt, wo man auswählen kann welches Betriebssystem man starten möchte oder ob man evtl. in einen Wartungsmodus starten will. Eventuell wird auch anstatt des Startmenüs sowas angezeigt:

    Zitat


    GRUB loading, please wait ...

    Press ESC to enter menu ...

    Durch drücken der Escape-Taste gelangt man dann zum Startbildschirm/Menü. In diesem Menü ist es möglich dem Betriebssystem noch einige Optionen beim Start mitzugeben.

    Benutzer von LinuxMint haben es hier besonders leicht: Einfach den “recovery mode” starten und dort drop to root shell prompt auswählen (dann mit Schritt 3 weitermachen). Benutzer anderer Distributionen gehen wie folgt vor:


    1.
    Bei manchen Distributionen (z.B. openSUSE, LinuxMint) befindet sich unten eine Eingabezeile in der zusätzliche Boot-Optionen eingetragen werden können. Dort trägt man einfach single hinter den anderen Optionen ein und drückt dann die Eingabetaste um das System in den Einzelbenutzermodus zu starten.

    Wenn man diese Eingabezeile nicht hat tut man folgendes:

    1) Den Eintrag auswählen den man normalerweise auch zum Starten benutzt.
    2) e drücken, und mit den Pfeiltasten zu der Zeile gehen die mit »kernel« anfängt.
    3) Wieder e drücken, und am Ende der Zeile single hinzufügen.
    4) Dann mit der Eingabetaste bestätigen und b drücken um das System zu starten.

    Nun wird Linux gestartet und man landet bei einer Eingabeaufforderung. Wenn Linux nun nach dem Passwort fragt wird diese Methode nicht funktionieren, denn das Passwort kennt man ja nicht mehr.

    In dem Fall sollte man eine andere Methode versuchen. Ansonsten geht es weiter zu Schritt 2.

    2.
    Wahrscheinlich ist das die Partition auf der sich das Stammverzeichnis / (auch Wurzelverzeichnis oder Root-Verzeichnis genannt) befindet noch als nur lesbar eingebunden. Es muss als les- und schreibbar eingebunden werden um das Passwort zu ändern

    Code
    mount -o remount,rw /

    Wenn das nicht funktioniert, muss man den Gerätenamen mit angeben

    Code
    mount -o remount,rw <Gerätename> /

    Jetzt kann man mit dem passwd-Befehl ein neues Passwort setzen. Nicht wundern, das Passwort wird während der Eingabe nicht angezeigt, auch nicht durch Sternchen

    Zitat


    root@(none):/# passwd
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully

    Wenn nun password updated successfully da steht wurde erfolgreich ein neues Passwort festgelegt. Jetzt muss das Dateisystem wieder nur-lesbar eingebunden werden:

    Code
    mount -o remount,ro /

    Danach einfach den Rechner neu starten!


    [an=m2][/an]
    Methode 2: In eine Konsole starten

    Man kann den Kernel beim Start anweisen anstatt des normalen Init-Systems einfach eine Shell zu starten. Dort ist man dann automatisch als root eingeloggt, nach dem Passwort wird nicht gefragt

    Hier verfährt man eigentlich genau so wie bei Methode 1, nur mit dem Unterschied das man nicht single an die Boot-Optionen anhängt sondern init=/bin/bash
    Ansonsten tut man genau das was in Methode 1 beschrieben wird

    Achtung: Möglicherweise ist nicht die deutsche, sondern die US Tastenbelegung aktiviert. Um ein = zu bekommen muss man die ‘-Taste (zwischen ? und der Backspace/Löschen-Taste) drücken. Für ein / drückt man die – Taste. In Wirklichkeit gibt man also folgendes ein: init‘-bin-bash


    [an=m3][/an]
    Methode 3: Passwort mit einer LiveCD ändern

    Wenn die anderen beiden Methoden nicht funktionieren kann man auch eine LiveCD (Knoppix, Damn Small Linux, etc.) starten, mit chroot zum Rootverzeichnis des richtigen Systems zu wechseln und mit passwd das Passwort wechseln.

    1. ist öffnet man eine Konsole in der man sich erst einmal mit su root-Rechte beschafft. Dann wird ein Einbindepunkt für das Stammverzeichnis von Linux erstellt

    Code
    su
    mkdir /mnt/linux


    Anschließend wird das Stammverzeichnis eingebunden und mittels chroot in das richtige Linux gewechselt, dort wird dann mit root-Rechten passwd ausgeführt um das Passwort zu ändern.

    Code
    mount <Hier Gerätename einfügen> /mnt/linux
    chroot /mnt/linux
    passwd
    <Neues Passwort eingeben>
    exit

    Jetzt muss der Rechner nur noch neu gestartet werden!

    [an=m4][/an]
    Methode 4: Speziell für den RaspberryPI

    Wenn ihr euer Password vergessen habt aber die SD nicht neu flashen wollt, bleibt euch nur die Möglichkeit in einen speziellen Modus zu booten. Dazu müsst ihr die SD Karte in euren Kartenleser stecken und die cmdline.txt bearbeiten.
    Normalerweise sieht die Zeile in der cmdline.txt so aus:

    Code
    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

    Fügt dort in die Erste Zeile ans Ende, folgendes ein:

    Code
    init=/bin/sh

    Die veränderte Zeile würde dann also zum Beispiel wie folgt aussehen:

    Code
    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait init=/bin/sh

    Datei speichern und wieder in den RaspberryPI stecken sowie anschliesend booten - ihr solltet dann ziemlich schnell einen command prompt erhalten.. Dort gebt ihr folgendes ein:

    Code
    mount -o remount,rw /
    passwd pi

    Jetzt legt ihr ein neues Password für den Benutzer pi fest (es kann aber auch für root geändert werden, dann wäre der Befehl passwd root)
    Danach müsst ihr noch folgende Befehle ausführen/eingeben:

    Code
    sync
    exec /sbin/init

    Anschliesend müsste der PI weiter booten und ihr gelangt in euer eigentliches System. Hier angekommen müsst ihr unbedingt die /boot/cmdline.txt bearbeiten und das zuvor eingefügte init=/bin/sh wieder entfernen.

    Fertig :)

  • Hallo!
    Dieses Tutorial ist sehr hilfreich! Jedoch sehe ich auf der sd nur eine recovery-partion, wenn ich sie über den sd-leser an meinen Windows anschließe.
    Kannst du/ könnt ihr mir erklären warum und wie ich das ändern kann!?

    LG Phil

  • Mothode 1 bis 3 sind alle für Linux - Einzig Methode 4 kann mit Windows genutzt werden, sofern man auf die boot Partition, in der cmdline.txt liegt, zugreifen kann..

    Da es unzählig verschiedene Betriebssysteme gibt wäre es aber äußerst hilfreich wenn Du/Ihr sowas dazu schreiben würdet...


    Aber bitte erstellt euch einen eigenen Thread - denn sonst werden die Tutorial Threads ziemlich schnell unübersichtlich wenn da jeder sein inviduelles Problem postet
    :danke_ATDE:

  • Hallo Meigrafd,

    toller Beitrag, den sicher so mancher von uns wird gebrauchen können!

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo, ich hab bei meinem Pi das password für den benutzer pi geändert. Leider nimmt er es nicht an. Ein anderer User hat mich auf diese Anleitung aufmerksam gemacht, soweit klappt es auch aber nachdem ich den Pi startete kam kein command-promt sondern ein login-promt...einer eine idee?

  • Hallo something,

    Du wolltest doch nach dem Hochfahren wieder ein Passwort eingeben und damit Zugang zum System haben - oder nicht?

    Beste Grüsse

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (24. Mai 2014 um 08:25)

  • Bitte erstellt für individuelle Probleme einen eigenen Thread !!

    Wenn jeder sein Problem in den Tutorial Threads postet wirds dort ziemlich schnell sehr unübersichtlich !! :@


    Ausserdem hast Du (something001) zu deinem Problem bereits einen Thread erstellt - also finde ich das hier jetzt etwas frech - wieso bleibst du nicht in deinem bereits erstellten Thread mit Deinem Problem? :wallbash:
    Password geändert aber neues wird nicht angenommen

  • Hallöle meigrafd,

    sorry ... das hab ich jetzt aber auch übersehen :blush:

    Vielleicht bittest Du einfach dbv oder einen anderen unserer Hohenpriester diesen ganzen Komentar-Kram zu verschieben und das Thema (mit dem fetten, roten Schloss) zu schliessen.
    Nix für ungut und sorry noch mal,
    -ds-

  • Hallo Meigrafd,

    ooops, ich hab's auch übersehen. Ich habe nur auf den Namen des TE geachtet - und die Thematik passte ja auch noch....

    Die heutigen Kommentare sind besser im Original-Thread des TE aufgehoben...

    Auf was man hier alles achten muss... ;) tztztz

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • ... und Thema schließen.

    Besser nicht, denn dann kann meigrafd sein Tut nicht mehr korrigieren :no_sad: Z.B. würde ich empfehlen die Methode 4 an den Anfang stellen, die Methoden 1 und 2 löschen, denn das funktioniert bei raspian nicht so, und Methode 3 würde ich so ändern, dass beschrieben wird, wie man es nicht mit einer LiveCD macht (gibt es eine für Raspberry?) sondern mit einem zweiten reinrassigen raspbian, denn das ist hier ja ein RaspberryForum :) .

  • dir ist da ein kleiner Fehler unterlaufen, ich wollte dies beim raspi machen.


    Code


    mount -o remount,rw /

    und zwar ist vor rw kein Leerzeichen ......wahrscheinlich bin ich der einzige der über solches zeug stolpert mangels wissen, aber beim durchlesen von dem ersten Vorschlag hab ichs bemerkt das da ein Leerzeichen ist ...... wenn ich halt die Terminal Sprache beherrschen würd hätt ichs natürlich gleich bemerkt .... vielleicht ... aber nach der Erkenntnis hatts geklapptguter Beitrag

  • Danke

    Ich hoffe dass ich da nicht irgendwie auf die Füsse getreten bin.

    Mein Problem ist meistens dass ich ständig andere Probleme habe wenn ich was versuche bei einem Problem das ich lösen muss, das ist manchmal sehr zermürbend.

    Hatte jetzt was ähnliches mit Add/Remove Software ich wollte Kodi installieren, aber es gieng nicht, jedesmal wenn ich auf ok klickte, hat es wieder geladen usw also wie wenn ich was anklicke zum Downloaden ... und jetzt wollt ich das gerade schreiben, hab aber erst den raspi gestartet und versucht .... und jetzt gehts plötzlich .....:/:conf:

    Es scheint mir so als kapiere ich bei Linux generell etwas nicht, obwohl ich seit ca 8 jahren nurnoch Kubuntu habe, aber eben durch irgendwelche Problemchen es nicht fertigbringe den Kern zu verstehen.

    egal ich werd Windows nie mehr Brauchen.

  • Hatte jetzt was ähnliches mit Add/Remove Software ich wollte Kodi installieren, aber es gieng nicht, jedesmal wenn ich auf ok klickte, hat es wieder geladen usw also wie wenn ich was anklicke zum Downloaden ... und jetzt wollt ich das gerade schreiben, hab aber erst den raspi gestartet und versucht .... und jetzt gehts plötzlich .....:/:conf:

    Als ich vor gut einem Jahr mit RPi und Linux angefangen habe, erging es mir ebenso und habe Zeit mit "Add / Remove Software" verschwendet. Mal hat es funktioniert, mal nicht. Darüber hinaus dauert das einlesen/anzeigen der Listen ewig lange und ist für eine GUI Paketverwaltung nicht besonders gut. Ich würde empfehlen sich mit der Kommandozeile auseinander zu setzen. Also die APT-Tools und auch dpkg für das hier. Dabei lernt und versteht man das Ganze auch besser.

  • Sodele.... wie auch immer, trotz Aufschreiben, war mein root passwort daneben. Deswegen habe ich diesen alten Thread gefunden.

    Bei mir musste ich jedoch eine Mischung von Methode 1 & 2 nutzen.

    Vielleicht liegt es auch daran dass ich von SSD boote? Den Name der Partition habe ich per "mount" als /dev/sda2 identifiziert.

    Mein Weg:

    cmdline.txt auf der SSD an einem Windows-Rechner ändern und init=/bin/bash angehangen. Mit /sh gab es Kummer mit mount.... oder ich habe irgendwo einen Fehler eingetippt.

    Danach gestartet und auf den command prompt gekommen.

    Dort dann ((Achtung: - durch ß und / durch - und y durch z erzeugen)

    mount -o remount,rw /dev/sda2 /

    passwd (und dann auf Anfrage 2 * Passwort eingetragen)

    sync

    mount -o remount,ro /dev/sda2 /

    exec /sbin/init

    Danach konnte ich allerdings die cmdline. nicht zurückändern da mir als pi dort die Rechte fehlen, daher habe ich die SSD einfach noch einmal an Windows gehangen und dort editiert. Das Zurücksetzten der Partition auf RO ist in Methode 4 nicht oben aufgelistet....

    Ich hatte an vielen Stellen im Internet gelesen dass man das PW vom root auch ganz einfach als pi, mit sudo passwd root -ändern kann oder mit sudo passwd -d root löschen kann... das war aber wohl nix?

  • Ich hatte an vielen Stellen im Internet gelesen dass man das PW vom root auch ganz einfach als pi, mit sudo passwd root -ändern kann oder mit sudo passwd -d root löschen kann... das war aber wohl nix?

    Keine Ahnung, bei mir hat root kein Passwort, aber Du kannst ja z.B. mit sudo su oder sudo -i zu root werden, das Passwort ändern (oder eins setzen) und danach mit exit wieder zu pi werden.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!