Der Besitz mindestens einer Ihrer wichtigen Systemdateien ist falsch. Das ist eine schlechte Sache; Wenn dies vielen Systemdateien passiert ist (vielleicht haben Sie irgendwann einen großen sudo chownBefehl mit dem -RFlag ausgeführt?), kann dies eine Reihe anderer Systemfehler und Instabilitäten verursachen. Also , wenn Sie Ubuntu vor kurzem installiert , können Sie neu installieren wie Adam Heathcote schlägt .
Aber Sie müssen nicht neu installieren , dieses Problem zu beheben . Korrigieren Sie stattdessen einfach den Besitz dieser Datei. Wenn Sie danach Fehler zu anderen Dateien erhalten, können Sie diese auch beheben (obwohl Sie uns möglicherweise die Fehlermeldungen mitteilen müssen, damit wir Ihnen auch mitteilen können, wie Sie sie beheben können).
sudofunktioniert nicht, aber die Verwendungsudo ist eine von zwei Möglichkeiten für Administratoren , Aktionen als Root unter Ubuntu auszuführen . Das andere ist Polkit (früher PolicyKit genannt).
Führen Sie diesen Befehl aus, der Polkit (via pkexec) verwendet, um den Besitz von /usr/lib/sudo/sudoers.soback in root(dh uid 0) zu ändern :
pkexec chown root /usr/lib/sudo/sudoers.so
Versuchen Sie es dann sudoerneut. Sie können etwas Triviales ausführen und prüfen, ob eine Fehlermeldung angezeigt wird.sudo ls
Schließlich empfehle ich das Ausführen history, um alle von Ihnen ausgeführten Befehle anzuzeigen. Hoffentlich werden dadurch alle von Ihnen ausgeführten Befehle aufgelistet, deren Berechtigungen geändert wurden. Unter der Annahme, dass dies sudojetzt funktioniert, empfehle ich, eine neue Frage einschließlich der Ausgabe von zu historyveröffentlichen, um Hilfe beim Rückgängigmachen aller von Ihnen vorgenommenen Änderungen des Dateieigentums und der Berechtigungen zu erhalten.
Wenn pkexeces auch nicht funktioniert ...
Du hast es versucht pkexecund es hat nicht funktioniert. Da weder sudonoch Polkit daran arbeiten, dass Sie Aktionen als Root ausführen können, müssen Sie im Wiederherstellungsmodus booten und eine Root-Shell erhalten. Halten Sie dazu Shiftbeim Booten Ihres Computers die Taste gedrückt, um sicherzustellen, dass ein sichtbares GRUB-Startmenü angezeigt wird. Wählen Sie einen Eintrag, der die Wörter enthält Recovery - Modus ( in der Regel, sollten Sie die am nächsten an die Spitze wählen, die diese Wörter hat). Dann erhalten Sie ein Menü, in dem Sie eine Reihe von Optionen haben - wählen Sie die Option aus, die auf einer Root-Shell abgelegt werden soll.
Detaillierte Anweisungen zum Zugriff auf eine Root-Shell im Wiederherstellungsmodus finden Sie hier:
Sobald Sie eine Root-Shell haben, führen Sie Folgendes aus:
chown root /usr/lib/sudo/sudoers.so
Wenn Sie eine Fehlermeldung erhalten, dass die Datei oder das Dateisystem nicht geändert werden kann, stellen Sie sie erneut bereit. Readwrite:
mount -rw -o remount /
(Quelle für die Idee des Remounting und wie es geht: diese meist nicht verwandte Antwort .)
Führen Sie dann nach dem Ausführen dieses mountBefehls den obigen chownBefehl erneut aus und prüfen Sie, ob er funktioniert.
Sobald Sie im Wiederherstellungsmodus fertig sind, können Sie neu starten, indem Sie Folgendes ausführen:
reboot
sudosollte dann funktionieren oder zumindest einen anderen Fehler geben.
Beachten Sie schließlich, dass es angesichts der von Ihnen angezeigten Fehler wahrscheinlich ist, dass viele Dateien jetzt den falschen Besitz oder die falschen Berechtigungen haben. Es wäre ideal, wenn Sie herausfinden könnten, welche Dateien Sie auf diese Weise geändert haben. Wenn Sie beispielsweise herausfinden könnten, dass sich alle Dateien in einigen bestimmten Ordnern befinden, können Sie möglicherweise das vollständige Ausmaß der kürzlich aufgetretenen Probleme korrigieren.
Eine Neuinstallation ist definitiv eine Option, aber insbesondere wenn Sie nur den Besitz geändert haben (und keine Berechtigungen, die etwas schwieriger zu rekonstruieren sind, da sie stärker variieren), sollte es möglich sein, die Berechtigungen einfach rekursiv auf ihre ursprünglichen Eigentümer zurückzusetzen (wahrscheinlich normalerweise root) ) und den Schaden vollständig rückgängig machen.
Die sudoerste Arbeit ist ein erster Schritt. Hoffentlich können Sie dies mit der oben genannten Technik tun.
pkexecBefehl ausgeführt haben?