Ich habe versucht, meinen Benutzernamen und auch mein Home-Verzeichnis ( /home/username
) zu ändern, und mein System stürzte ab. Ich habe die passwd
Datei gelöscht , aber ich hatte eine Sicherungskopie mit dem Namen passwd_bkp
. Ich habe versucht , diese zu benennen , passwd_bkp
wie passwd
und es hat nicht funktioniert. Es wurden keine Befehle ausgeführt ... Ich befand mich in einem Terminalfenster.
Ich habe mein System neu gestartet und kann mich jetzt nicht anmelden. GRUB bietet zwei Optionen: Linux und Wiederherstellungsmodus.
Ich habe versucht, eine Sitzung als root zu öffnen, aber es heißt, dass das Dateisystem beschädigt ist. Ich kann nicht auf meine Dateien zugreifen.
Habe ich alle meine Dateien verloren?
login
authentication
users
passwd-file
joao rodrigo leao
quelle
quelle
/etc/passwd
Datei vorhanden ist , kann das Kennwort auch nicht zurückgesetzt werden. Sie müssen diepasswd
Datei wiederherstellen (oder neu erstellen) . Und sobald dies erledigt ist, muss das Passwort im Allgemeinen nicht mehr zurückgesetzt werden.Antworten:
Nein, angesichts Ihrer Beschreibung haben Sie keine Ihrer Dateien verloren (außer den Dateien
/etc/passwd
, die Sie gelöscht, aber gesichert haben).Booten Sie eine Ubuntu Live-CD / DVD oder ein Live-USB-Flash-Laufwerk. Wählen Sie
Try Ubuntu
(nichtInstall Ubuntu
). Öffnen Sie beim Laden des Desktops ein Nautilus-Fenster (Dateibrowser). Die Partition für Ihr Ubuntu-System finden Sie unterDevices
. Klicken Sie darauf, um es zu montieren.Jetzt können Sie das Backup wiederherstellen. Sie müssen es jedoch als root ausführen. Hier ist eine ziemlich einfache Möglichkeit, dies zu tun.
Öffnen Sie ein Terminalfenster ( Ctrl+ Alt+ T). Geben Sie im Terminal
cd
die SpaceTaste ein und drücken Sie sie Enternoch nicht.Suchen Sie in Nautilus das
etc
Verzeichnis im installierten Ubuntu-System. (Dies ist nicht dasselbe wie dasetc
Verzeichnis für die Live-CD. Dasetc
Verzeichnis im installierten Ubuntu-System befindet sich in der Partition, die Sie gerade gemountet haben.)Ziehen Sie dieses
etc
Verzeichnis in das Terminal, um den vollständigen Pfad in das Terminal einzufügen, und führen Sie dencd ...
Befehl aus.Drücken Sie Enter, um den Befehl auszuführen. Jetzt befinden Sie sich in dem Verzeichnis, in dem sich Ihre
passwd
Datei befindet. Ich gehe davon aus, dass sich Ihre Sicherungsdateipasswd_bkp
auch hier befindet.Führen Sie diesen Befehl aus:
Dadurch wird die
passwd
Datei von Ihrem Backup wiederhergestellt. Jetzt sollten Sie in der Lage sein, einen Neustart durchzuführen, die CD / DVD oder das USB-Flash-Laufwerk zu entfernen und Ihr installiertes Ubuntu-System neu zu starten. Ihr installiertes Ubuntu-System sollte wieder funktionieren.Für die Zukunft sollte man sich bewusst sein , dass es nicht manuell bearbeiten wird empfohlen
/etc/passwd
,/etc/group
,/etc/shadow
, oder/etc/gshadow
. Verwenden Sie stattdessen die im Lieferumfang von Ubuntu enthaltenen Dienstprogramme, um Änderungen an Benutzern und Gruppen auf Ihrem System vorzunehmen. Ihnen ist wahrscheinlich bekannt, dass Sie dies in den Systemeinstellungen oder mit bearbeiten könnenusers-admin
. Es gibt aber auch sehr leistungsfähige Befehlszeilen-Dienstprogramme, die immer noch viel sicherer und einfacher sind als das manuelle Bearbeiten der Konfigurationsdateien. Hier ist die Dokumentation der wichtigsten Hilfsprogramme in Ubuntu:adduser
/addgroup
deluser
/delgroup
usermod
groupmod
useradd
(niedriger alsadduser
, sollten Sie normalerweiseadduser
stattdessen verwenden)userdel
(niedriger alsdeluser
, sollten Sie normalerweisedeluser
stattdessen verwenden)groupadd
(niedriger alsaddgroup
, sollten Sie normalerweiseaddgroup
stattdessen verwenden)groupdel
(niedriger alsdelgroup
, sollten Sie normalerweisedelgroup
stattdessen verwenden)passwd
gpasswd
pwck
grpck
Sie können Ihren Benutzernamen mit einigen dieser Dienstprogramme ändern . Diese Antwort erklärt einen Weg im Detail. Sie sollten sich jedoch darüber im Klaren sein, dass einige Anwendungen davon ausgehen, dass Ihr Benutzername derselbe bleibt. Das Ändern Ihres Benutzernamens kann daher zu Problemen führen.
quelle
/etc/passwd-
oder/var/backups/passwd.bak
. Stellen Sie sicher, dass Sie die richtigen Berechtigungen festlegen. Beispiel:sudo install -m644 /etc/passwd- /etc/passwd
Alternativ zum Booten einer Live-CD können Sie
e
im Grub-Menü auf drücken , um den Rettungsmodus-Eintrag zu bearbeiten undinit=/bin/sh
den Kernel-Argumenten hinzuzufügen . Dadurch gelangen Sie direkt zu einer Root-Shell, in der Sie die Sicherungsdatei nach dem erneuten Bereitstellen des Dateisystems mit Lese- / Schreibzugriff wieder in das Original kopieren könnenmount -o remount,rw /
.quelle
/etc/passwd
, gibt es keine Benutzer root genannt, und kein Benutzer mit uid = 0 . Funktionieren die benötigten Dienstprogramme unter diesen ungewöhnlichen Bedingungen?cp
odermv
brauche / etc / passwd nicht.Sie sollten zuerst die Antwort von Eliah Kagan lesen, bevor Sie mit dem Lesen dieser Antwort fortfahren. Er erklärt, wie man mit der Situation umgeht und warum es normalerweise nicht notwendig ist, / etc / passwd manuell zu ändern.
Wie auch immer, wenn Sie wirklich wissen, was Sie tun und manuell bearbeiten
/etc/passwd
müssen , können Sie dies tun, aber Sie sollten die Dateien nicht einfach mit Ihrem bevorzugten Editor ändern. Stattdessen gibt es das ToolAus den Manpages:
Zum Beispiel, wenn Sie eine Benutzer-UID ändern möchten, so weit ich weiß, um die Dateien manuell zu bearbeiten, ist der einzige Weg. Auch wenn Sie ein Benutzerkennwort ändern und dann ohne es zu wissen zu seinem vorherigen zurückkehren möchten, gibt es keinen Weg mit
usermod
oder so. Wenn Sie jedoch das Hash-Kennwort aus der Schattendatei speichern, können Sie das Kennwort des Benutzers ändern und anschließend das Hash-Kennwort erneut hinzufügen, indem Sie die Schattendatei mit bearbeitenvipw -s
.quelle
Nachdem ich @ EliahKagans Antwort gefolgt hatte, konnte ich mich nicht anmelden
lightdm
und mein Konto wurde nicht aufgelistet. Ich habe festgestellt, dass die Berechtigung für diepasswd
Datei nicht ordnungsgemäß eingerichtet wurde. der lightdm benutzer hatte keinen zugriff darauf. So habe ich es behoben:Melden Sie sich auf ein tty Ctrl+ Alt+F1
Wechseln Sie in das
/etc
VerzeichnisÄndern Sie dann die Berechtigungen in
644
Dann mach
ls -la
Die Berechtigungszeichenfolge sollte folgendermaßen aussehen
quelle
Wenn Sie sich anmelden können, öffnen Sie einfach das Terminal und versuchen Sie Folgendes:
Sonst
Booten Sie im Wiederherstellungsmodus oder von Ubuntu Live-CD. Dann mounten Sie Ihr altes Laufwerk:
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 (glaube ich)
/etc/passwd-
Edit : (eine andere Methode, die ich noch nicht ausprobiert habe, aber ich denke, sie sollte auch funktionieren)
init=/bin/bash
cp /etc/passwd- /etc/passwd
init=/bin/bash
mount -o remount,rw /
passwd YOURUSERNAMEHERE
(Wenn Sie den Typ Ihres Benutzernamens nicht kennenls /home
(Kleinbuchstaben L und Kleinbuchstaben S) für eine Liste von Benutzern)Quelle
quelle