Auf einem modernen Ubuntu-System (und vielen anderen GNU / Linux-Distributionen) ist das Beheben einer beschädigten sudoers
Datei recht einfach und erfordert keinen Neustart, keine Live-CD oder keinen physischen Zugriff auf den Computer.
Melden Sie sich dazu über SSH am Computer an und führen Sie den Befehl aus pkexec visudo
. Wenn Sie physischen Zugriff auf den Computer haben, ist SSH nicht erforderlich. Öffnen Sie einfach ein Terminal-Fenster und führen Sie diesen pkexec
Befehl aus.
Vorausgesetzt , dass Sie (oder einen anderen Benutzer) sind berechtigt , Programme laufen root
mit PolicyKit können Sie Ihr Passwort eingeben, und dann wird es laufen visudo
wie root
, und Sie können Ihre beheben /etc/sudoers
.
Wenn Sie eine der Konfigurationsdateien bearbeiten müssen /etc/sudoers.d
(was in dieser Situation ungewöhnlich, aber möglich ist), verwenden Sie .pkexec visudo -f /etc/sudoers.d/filename
Wenn Sie in einer verwandten Situation zusätzliche Systemverwaltungsbefehle als root ausführen müssen, um das Problem zu beheben (in diesem Fall ebenfalls ungewöhnlich, in anderen Fällen jedoch häufig), können Sie eine interaktive Root-Shell mit starten pkexec bash
. Im Allgemeinen sudo
kann pkexec
stattdessen jeder nicht-grafische Befehl ausgeführt werden, mit dem Sie ausgeführt würden .
(Wenn es mehr als ein Benutzerkonto auf dem System gibt, das zum Ausführen von Programmen wie root
mit PolicyKit berechtigt ist , werden Sie bei einer dieser Aktionen aufgefordert, das gewünschte Konto auszuwählen, bevor Sie nach Ihrem Kennwort gefragt werden.)
Wenn dies nicht funktioniert - zum Beispiel, wenn keine Benutzer berechtigt sind, Programme als Root über PolicyKit auszuführen -, booten Sie von einer Ubuntu Live-CD (wie die CD, die Sie wahrscheinlich zur Installation von Ubuntu verwendet haben) und hängen Sie das Dateisystem für das ein installiertes System. Sie können dies tun, indem Sie ausführen
sudo parted -l
, um Ihre Partitionen anzuzeigen - es gibt wahrscheinlich nur eine ext4-Partition, und das ist das Root-Dateisystem.
Angenommen, das Root-Dateisystem des installierten Ubuntu-Systems befindet sich unter / dev / sda1. Dann könnten Sie es mit montieren sudo mount /dev/sda1 /mnt
. Anschließend können Sie die sudoers-Datei des installierten Systems mit bearbeiten sudo nano -w /mnt/etc/sudoers
. Oder, noch besser, Sie können es mit bearbeiten
sudo visudo -f /mnt/etc/sudoers
(Dies verhindert, dass Sie eine sudoers-Datei mit falscher Syntax speichern).