Ubuntu: Meine Sudoers-Datei wurde kaputt gemacht. Wie kann ich das beheben?

11

Ich habe meine /etc/sudoersDatei bearbeitet und gespeichert, aber sie enthält einen Syntaxfehler. Jetzt kann ich nicht, sudo vim /etc/sudoersweil sudo denkt, dass die sudoers-Datei nicht gültig ist.

Wie kann ich das beheben?

Fred Basset
quelle

Antworten:

6

Starten Sie das System im Einzelmodus und bearbeiten Sie es anschließend.

Ignacio Vazquez-Abrams
quelle
Danke, mein Ubuntu läuft unter Virtualbox. Wie starte ich im Einzelbenutzermodus?
Fred Basset
Ich bekomme die Grub-Optionen beim Booten nicht, aber es bootet direkt in Ubuntu ...
Fred Basset
Versuchen Sie, <Strg> oder etwas anderes gedrückt zu halten.
Ignacio Vazquez-Abrams
1
@red basset: Wenn der VM startet, drücke mehrmals Esc, um dich in Grub zu versetzen, und wähle dann die Option für den Wiederherstellungsmodus.
user9517
21

Sie sollten Ihre Sudoers-Datei niemals direkt bearbeiten. Verwendung visudo- Sie werden in Zukunft vor diesen Syntaxfehlern geschützt.

Um diese Situation zu beheben, starten Sie entweder im Einzelbenutzermodus und bearbeiten Sie die Datei oder starten Sie von einer Live-CD und tun Sie dasselbe.

EEAA
quelle
Danke, ich habe mich gefragt, was Visudo anders gemacht hat. Ich muss jetzt herausfinden, wie man in den Einzelbenutzermodus bootet. Mein Ubuntu läuft unter Virtualbox.
Fred Basset
1
Mit visudo können Sie eine Kopie der sudoers-Datei bearbeiten. Die sudoers-Datei wird nur ersetzt, wenn sie beim Speichern überprüft wird. Es wird der von Ihrer EDITOR-Variablen angegebene Editor verwendet, sodass Sie Ihren bevorzugten Editor verwenden können. Es kann auch im Überprüfungsmodus verwendet werden, wenn Sie die Datei bearbeitet haben und sicherstellen möchten, dass sie noch gültig ist.
BillThor
1

Übrigens, wenn Sie das Root-Passwort haben, melden Sie sich einfach damit an und setzen Sie es wieder so, wie es war.

chmod 0440 / etc / sudoers

Dadurch wird verhindert, dass Sie im Einzelbenutzermodus oder im schlimmsten Fall von einer Live-CD booten.

In meinem Fall konnte ich es mir nicht leisten, den Server herunterzufahren.

Yaxzone
quelle
1

Wenn Sie Docker installiert haben und Ihr Benutzer Mitglied der dockerGruppe ist, können Sie sich leicht aus dieser (und einigen anderen) Auswahl herausholen, ohne neu zu starten oder was Sie haben:

  1. $ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
  2. apt-get update && apt-get install [vim|nano|whatever]
  3. cd ~/host.etc/
  4. Reparieren Sie die Problemdateien
  5. exit
Adrian Günter
quelle
Docker? Haben Sie Docker irgendwo in der ursprünglichen Frage gesehen?
Deer Hunter
2
Da die Frage nichts über die Umgebung des Fragestellers aussagt und es jetzt 2015 ist, was bedeutet, dass einige Leute Docker installiert haben, verstehe ich weder Ihre Einstellung zu mir noch Ihre Verachtung für meinen Beitrag. Es ist keineswegs unergründlich, dass jemand anderes in dieser Situation Software installiert hat, die bis heute von 23,5.000 Leuten auf GitHub gespielt wurde. Wenn dies pkexecauch aus irgendeinem Grund nicht verfügbar ist, bietet dies eine alternative Methode ohne Neustart, die fast genauso schnell und einfach ist.
Adrian Günter