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?
Hier sind die Schritte, um dies grafisch zu tun:
Booten Sie in einer Live-Ubuntu-Umgebung mit einem bootfähigen Ubuntu-Medium.
Starten Sie den Nautilus-Dateimanager und hängen Sie Ihre Ubuntu-Partition ein (hier im Schnappschuss das 129 GB-Dateisystem);
(Schlagen Ctrl + L um die UUID der Partition zu sehen.)
Starten Sie Nautilus mit root - Berechtigung (Drücken Sie Alt + F2 und tippe gksu nautilus
und drücke Enter);
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 /etc
.
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);
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.
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;
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:
Booten, um Ubuntu-Sitzung zu leben;
Ö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.)
Montieren Sie das Gerät,
Sudo mount /dev/sdXY /mnt
(Ersetzen Sie sdXY
durch Ihr Zielgerät.)
cd
zum Zielsystemverzeichnis /etc
:
cd /mnt/etc
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 )
Starten Sie dann Ihren Computer neu:
Sudo reboot
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
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")
init=/bin/bash
" eincp /etc/passwd- /etc/passwd
"mount -o remount,rw /
" ein