Ich habe an SFTP über Filezilla gearbeitet, um den Download und erneuten Upload einiger Dateien zu ermöglichen. Ich habe den Eigentümer über ROOT und chown -R 'myusername' /etc und chmod 777 mein Benutzerkonto für -R /etc übernommen.
Jetzt ist meine Zeit abgelaufen und ich habe versucht, mich erneut als Root anzumelden und erhalte den Fehler „sudo: /etc/sudoers gehört der UID 1000, sollte 0 sein“ „sudo: Keine gültigen Sudoers-Quellen gefunden, werde beendet“ „sudo: Richtlinien-Plugin konnte nicht initialisiert werden“. Ich habe Zugriff auf /etc und 777 aller Dateien und kann auch per FTP darauf zugreifen, also geben Sie mir bitte Tipps, wie ich den Zugriff auf das Root-Konto wiederherstellen kann. Außerdem hat Root derzeit kein Passwort, also kann ich die allgemeinen Befehle pkexec oder visudo nicht ausführen.
Bitte schlagen Sie eine Lösung vor und geben Sie auch an, ob es eine Möglichkeit gibt, die Dateien /etc/shadow oder passwd manuell zurückzusetzen.
Ich denke, es ist etwas anders als das angegebene Duplikat, weil ich auch die Berechtigungen für die Dateien geändert habe. Wenn ich chown root:root /etc/ ausführe, erhalte ich außerdem chown root:root /etc chown: Ändern des Eigentümers von „/etc“: Vorgang nicht zulässig
Danke schön!
Antwort1
Der einfachste Weg, dies zu beheben, ist wahrscheinlich ein Neustart. Hier sind zwei Lösungen, die mir einfallen:
Booten Sie die Ubuntu-Live-CD und mounten Sie das Gerät mit
/etc
. Führen Sie dann ein . auschown -R root:root /path/to/etc
.Wenn Sie keine Live-CD oder keine Möglichkeit zum Booten der Live-CD haben, versuchen Sie Folgendes. Starten Sie Ihren Computer neu. Wenn Sie zur Grub-Eingabeaufforderung gelangen, bearbeiten Sie den Boot-Eintrag in der Zeile mit dem
linux
anzufügenden Befehlbreak=bottom
(dazu müssen Sie möglicherweise<shift>
während des Bootens die Taste gedrückt halten). Drücken Sie dann die<F10>
Taste, um den geänderten Boot-Eintrag zu booten. Dadurch erhalten Sie eine Root-Shell im Initrd, wo das Root-FS/dev
gemountet ist. Führen Sie als Nächstes/bin/chroot /root
ein Chroot-Verfahren in das Root-FS durch. Wenn/etc
es sich nicht im Root-FS befindet, mounten Sie das Gerät beispielsweise unter/tmp
. Dann können Sie Folgendes tunchown -R root:root /path/to/etc
. Wenn Sie gemountet haben/etc
, denken Sie daran, es nach Abschluss wieder zu unmounten, und beenden Sie dann das Chroot-Verfahren und die Initrd-Shell, um normal mit dem Booten fortzufahren. Ihre/etc
Dateien sollten alle über Root-Berechtigungen verfügen.