Dieser Fehler tritt auf, wenn ich versuche, mit sudo
zu arbeiten . Ich habe die Berechtigungen von /var/
geändert Ordner nach 777
und ich denke, das verursacht den Fehler. Bitte helfen Sie mir, wieder ein funktionierendes sudo
zu bekommen und /var
.
Beste Antwort
Sie haben ein wirklich großes Problem, aber nicht wirklich aus den hier genannten Gründen.
Ändern der Berechtigungen für alle /var
wird es wahrscheinlich machen, dass Sie sie nicht alle korrekt zurückbekommen, weil Sie nicht wissen werden, welche Berechtigungen alle haben Datei sollte . Später kann es zu Problemen kommen. Abhängig von den Umständen können Ihre Probleme sicherheitsrelevant sein.
Daher sollten Sie eine Neuinstallation von Ubuntu in Betracht ziehen. Alternativ können Sie versuchen, die Berechtigungen von den Dateien in einem anderen, ähnlichen, intakten System zu erhalten. Die Berechtigungen sind in der Regel gleich. Normalerweise. Ein ernsteres Problem ist, dass Ihr System wahrscheinlich einige Dateien in /var
hat die auf dem anderen nicht vorhanden sind, also wahrscheinlich nicht alle die Berechtigungen werden festgelegt.
Durchführen von Verwaltungsaufgaben auf einem Desktop-System ohne funktionierendes sudo
ist aber normalerweise trivial einfach.
Das Zurücksetzen der Berechtigungen, wenn Sie wissen, was sie sein sollten, ist einfach und erfordert selten das Booten in den Wiederherstellungsmodus oder von einer Live-CD. Dies liegt daran, dass, obwohl es nicht allgemein bekannt ist, Desktop-Versionen von Ubuntu (und den meisten anderen GNU/Linux-Betriebssystemen heutzutage) zwei haben Möglichkeiten zur Durchführung administrativer Aufgaben:
sudo
, was nicht funktioniert, da es die Berechtigungen in/var
erfordert richtig sein.- PolicyKit, das tendenziell toleranter gegenüber falschen Berechtigungen ist und normalerweise immer noch funktioniert.
Dabei denken wir eher an sudo
wie Sie Aktionen als root
ausführen Unter Ubuntu ist PolicyKit tatsächlich die Art und Weise, wie die meisten, wenn auch nicht alle grafischen Dienstprogramme zu root
werden . (So ist es nun schon seit einigen Jahren.)
Tatsächlich ist das manuelle Ausführen eines grafischen Programms mit PolicyKit manchmal ein erhebliches Unterfangen, da grafische Anwendungen spezielle Konfigurationsdateien haben müssen, damit PolicyKit sie ausführen kann. Aber Terminalanwendungen nicht – es ist genauso einfach, einen textbasierten Befehl mit PolicyKit auszuführen wie mit sudo
.
Geben Sie dazu pkexec
ein wo Sie sonst sudo
eingeben würden . (Sie verwenden nicht dieselben Befehlszeilenoptionen, sondern die gebräuchlichste Syntax für sudo
ist sudo command
und pkexec
funktioniert an seiner Stelle perfekt.)
Also, weil sudo
defekt ist, können Sie nicht ausführen:
sudo chmod 0755 /mnt/var/lib/sudo
sudo chmod 0700 /mnt/var/lib/sudo/<username>
Aber Sie können ausführen:
pkexec chmod 0755 /mnt/var/lib/sudo
pkexec chmod 0700 /mnt/var/lib/sudo/<username>
Das ist ein guter Anfang und wird wahrscheinlich sudo
machen wieder arbeiten. (Es wird nicht alle anderen Dateien in /var
reparieren , obwohl.)
Verwandte (aber in den meisten Fällen nicht identische) Situationen, in denen pkexec
ist hilfreich:
‣ Wie ändert man eine ungültige /etc/sudoers-Datei? Es gibt einen Fehler aus und erlaubt mir nicht, ihn erneut zu bearbeiten, um ihn zu beheben. usr'-Verzeichnis
‣ Wie behebt man sudo nach „chmod -R 777 /usr/bin“?, sudo-Fehler, ist Modus 0777, sollte 0440 sein,
Wie man „sudo:/etc/sudoers ist Modus 0640, sollte 0440 sein?“ repariert
‣ Warum funktioniert nichts, nachdem ich willkürlich einige Dateiberechtigungen geändert habe?
‣ Die /etc-Berechtigung in Oneiric (ubuntu11.10) mit „sudo chmod 665 /etc“ geändert, kann sudo jetzt nicht verwenden
‣ Wie führe ich bestimmte sudo-Befehle ohne Passwort aus? (nur wenn etwas schief geht)
‣ /etc/sudoers kann nicht von Ubuntu Live-CD geschrieben werden (nur wenn etwas schief geht)