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.
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.
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.
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:
$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
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.
Antworten:
Starten Sie das System im Einzelmodus und bearbeiten Sie es anschließend.
quelle
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.
quelle
Wie hier erwähnt ähnlichen Frage zu askubuntu erwähnt , funktioniert dies möglicherweise, ohne dass ein Neustart im Einzelbenutzermodus erforderlich ist:
quelle
Ü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.
quelle
Wenn Sie Docker installiert haben und Ihr Benutzer Mitglied der
docker
Gruppe ist, können Sie sich leicht aus dieser (und einigen anderen) Auswahl herausholen, ohne neu zu starten oder was Sie haben:$ docker run -it --rm -v '/etc/:/root/host.etc/' debian bash
apt-get update && apt-get install [vim|nano|whatever]
cd ~/host.etc/
exit
quelle
pkexec
auch aus irgendeinem Grund nicht verfügbar ist, bietet dies eine alternative Methode ohne Neustart, die fast genauso schnell und einfach ist.