webentwicklung-frage-antwort-db.com.de

Wie kann ich eine gelöschte / etc / passwd-Datei wiederherstellen?

Ich habe die Datei /etc/passwd gelöscht und kann mich jetzt nicht anmelden. Ich kenne das root-Passwort nicht und habe viele Passwörter ausprobiert, aber keines hat funktioniert.

Wie kann ich das beheben?

3
Eren

Hier sind die Schritte, um dies grafisch zu tun:

  1. Booten Sie in einer Live-Ubuntu-Umgebung mit einem bootfähigen Ubuntu-Medium.

  2. Starten Sie den Nautilus-Dateimanager und hängen Sie Ihre Ubuntu-Partition ein (hier im Schnappschuss das 129 GB-Dateisystem); snap1

    (Schlagen Ctrl + L um die UUID der Partition zu sehen.) snap2

  3. Starten Sie Nautilus mit root - Berechtigung (Drücken Sie Alt + F2 und tippe gksu nautilus und drücke Enter); snap3

  4. Die Ubuntu-Partition sollte in der Seitenleiste mit ihrer UUID angezeigt werden. Klicken Sie darauf, um es einzuhängen, und wechseln Sie in das Verzeichnis /etcsnap4

  5. Scrollen Sie im Verzeichnis /etc nach unten, um die Datei mit dem Namen passwd- zu finden, und erstellen Sie eine Kopie davon im Verzeichnis (Gedrückthalten Ctrl Taste, platzieren Sie den Mauszeiger über der Datei, linke Maustaste gedrückt halten, ziehen den Mauszeiger und dann loslassen die Maus Taste gefolgt von Ctrl Taste, um eine Kopie im selben Verzeichnis zu erstellen; eine Datei mit dem Namen passwd- (copy) wird erstellt); snap5

  6. Wählen Sie die Kopierdatei aus, klicken Sie mit der rechten Maustaste und wählen Sie mbenennen. Benennen Sie die Datei anschließend in passwd um. snap6

  7. Nachdem die Datei in passwd umbenannt wurde, klicken Sie mit der rechten Maustaste und wählen Sie Properties aus dem Kontextmenü, und stellen Sie auf der Registerkarte Permissions die entsprechenden Berechtigungen ein, dh den Eigentümer root sollte Lese- und Schreibrechte haben, während für die Gruppe und Andere legen den Zugriff auf Read- only und schließe das Eigenschaftenfenster; snap7

  8. Starten Sie nun Ihr System neu und Sie sollten sich mit Ihrem Passwort anmelden können.


Dasselbe können Sie mit dem Terminal in einer Live-Umgebung tun.

Die Schritte:

  1. Booten, um Ubuntu-Sitzung zu leben;

  2. Öffnen Sie ein Terminal oder eine Tty und geben Sie den folgenden Befehl ein:

    Sudo fdisk -l
    

    (und notiere den Gerätenamen deiner Ubuntu-Partition, der in der Form /dev/sdX vorliegen wird.)

  3. Montieren Sie das Gerät,

    Sudo mount /dev/sdXY /mnt
    

    (Ersetzen Sie sdXY durch Ihr Zielgerät.)

  4. cd zum Zielsystemverzeichnis /etc:

    cd /mnt/etc
    
  5. Verwenden Sie die Sicherungsdatei zum Wiederherstellen und legen Sie die entsprechenden Berechtigungen fest:

    Sudo cp passwd- passwd
    Sudo chmod 644 passwd
    

    Oder verwenden Sie das Backup in /var/backups/passwd.bak:

    Sudo install -m 644 /mnt/var/backups/passwd.bak /mnt/var/backups/passwd
    

    (wie von Lekensteyn in seinem Kommentare )

  6. Starten Sie dann Ihren Computer neu:

    Sudo reboot
    
5
precise

Diese Frage scheint schon die passenden Antworten zu haben, ich werde nur auf @Lekensteyns Kommentar eingehen:

Sudo cp /var/backups/passwd.bak /etc/passwd
Sudo chmod 644 /etc/passwd
5
Wilf

Wenn Sie sich anmelden können, öffnen Sie einfach das Terminal und versuchen Sie Folgendes:

Sudo cp /etc/passwd- /etc/passwd

Sudo chmod 644 /etc/passwd

Else

Booten Sie im Wiederherstellungsmodus oder von Ubuntu Live-CD. Dann mounten Sie Ihr altes Laufwerk:

mkdir /olddrive
mount /dev/hda5 /olddrive
assuming that your old drive is on /dev/hda5.
then, cd to /olddrive/etc
type:
echo "root::0:0:Superuser:/:/bin/bash" > passwd

dann neu starten. Das wird kein passwd für root setzen.

Anschließend können Sie sich anmelden, alle Ihre Konten neu erstellen usw.

Sie können auch die Sicherung verwenden, die aufgerufen wird (ich denke) /etc/passwd-

Edit: (eine andere Methode "Ich versuche das nicht bevor ich denke es sollte auch funktionieren")

  • GRUB beim Booten starten (beim Booten ESC drücken)
  • Drücken Sie e über (Wiederherstellungsmodus)
  • Drücken Sie e über die Zeile, die mit dem Kernel beginnt
  • Drücke die Leertaste und gib "init=/bin/bash" ein
  • Drücken Sie Enter
  • Drücken Sie b
  • Geben Sie an der Eingabeaufforderung Folgendes ein: "cp /etc/passwd- /etc/passwd"
  • Starten Sie erneut GRUB
  • Drücken Sie e über (Wiederherstellungsmodus)
  • Drücken Sie e über die Zeile, die mit dem Kernel beginnt
  • Drücke die Leertaste und gib "init =/bin/bash" ein
  • Drücken Sie Enter
  • Drücken Sie b
  • Bei der Eingabeaufforderung geben Sie "mount -o remount,rw /" ein
  • Geben Sie "passwd YOURUSERNAMEHERE" (WENN Sie Ihren Benutzernamen nicht kennen, geben Sie "ls/home" (das ist ein Kleinbuchstabe L und ein Kleinbuchstabe S) für eine Liste von Benutzern ein.)
  • Geben Sie bei der Eingabeaufforderung ein neues Passwort ein
  • Starten Sie zum normalen Start neu.

Quelle

3
Maythux