Überlegungen zum Bearbeiten von sudoers
Dateien
Das manuelle Bearbeiten von Dateien, die Sie erstellen oder ändern, ist manchmal dem Bearbeiten mit echo ... >
oder sed
vorzuziehen, insbesondere sed
wenn Sie nicht sehr gut damit umgehen können. Dies liegt daran, dass Sie die Auswirkungen Ihrer Änderungen deutlicher sehen und dass beim sudoers
Öffnen der Datei in einem Texteditor für eine Datei, die Sie nicht tatsächlich erstellen (wie in "Weg 1"), andere Inhalte der Datei angezeigt werden könnte relevant sein. Sie sollten Ihre aktuelle Konfiguration im Allgemeinen verstehen, bevor Sie Änderungen daran vornehmen. Zu diesem Zweck ist es manchmal hilfreich, die von Ihnen bearbeitete Konfigurationsdatei zu lesen.
Aber noch wichtiger ist , ein kleiner Fehler in der Bearbeitung /etc/sudoers
oder jede Datei in /etc/sudoers.d
Fabrikate sudo
weigern zu arbeiten vollständig , bis der probem fixiert ist.
Für Desktop-Ubuntu-Systeme, aber nicht für die meisten Serversysteme, gibt es eine relativ einfache Lösung . Andernfalls müssen Sie möglicherweise im Wiederherstellungsmodus oder von einer Live-CD / DVD / USB booten, um das Problem zu beheben, dass Sie nicht in der Lage sind, administrative Aktionen auszuführen.
In beiden Fällen sollten Sievisudo
zum Bearbeiten /etc/sudoers
und für alle Dateien in verwenden /etc/sudoers.d
.
Für /etc/sudoers
:sudo visudo
Für eine Datei mit dem /etc/sudoers.d
Namen vagrant
:sudo visudo /etc/sudoers.d/vagrant
visudo
Haben Sie eine temporäre Datei bearbeitet und nach dem Beenden Ihre Syntax überprüft, um sicherzustellen, dass sie korrekt ist, bevor Sie die temporäre Datei in die reale Konfigurationsdatei kopieren.
Wenn Sie aufgrund dieses Mechanismus Terminal-Einzeiler anstelle eines Texteditors verwenden möchten , sollten Sie in der Lage sein, visudo
in Verbindung mit sed
oder einem ähnlichen Mechanismus wie Pipes (wie tee
) sudoers
Dateien sicher auf eine Weise zu bearbeiten , die mit Ihrer vergleichbar ist. habe in "Weg 1" und "Weg 2" verwendet.
Vielleicht wird jemand anderes eine Antwort veröffentlichen, in der genau beschrieben wird, wie das geht. Wenn nicht, kann ich beim nächsten Zugriff auf eine für solche Tests geeignete Maschine versuchen, dies herauszufinden und diese Antwort mit einem Beispiel zu erweitern. Alternativ kann die Verwendung sed
oder echo
sichere Erstellung / Änderung sudoers
und sudoers.d
Konfiguration als Gegenstand einer separaten Frage betrachtet werden . Dies ist insbesondere dann der Fall , wenn Ihr Hauptinteresse hier ist , ob zu geben NOPASSWD sudo-to-Root - Leistung direkt oder über die Gruppenmitgliedschaft.
Übertragung der Sudo-to-Root-Leistung nach Gruppenmitgliedschaft im Vergleich zu pro Benutzer
Der Hauptunterschied zwischen "Weg 1" und "Weg 2" ist:
- "Weg 1" macht den Benutzer zum Administrator und gibt Administratoren die Möglichkeit, Befehle als root auszuführen,
sudo
ohne zur Eingabe eines Kennworts aufgefordert zu werden.
- "Weg 2" verleiht diese Fähigkeit speziell dem einen Benutzer.
Sofern Sie nicht möchten, dass alle Administratoren ohne Kennwort von Sudo zu Root wechseln können (standardmäßig ist die Eingabe eines Kennworts erforderlich), ist "Weg 2" vorzuziehen.
Jeder Benutzer, der beliebige Befehle als root ausführen möchte, sollte wahrscheinlich auch Administrator sein! (Dies ermöglicht ihnen die Verwendung pkexec
und vermeidet Verwirrung, wenn Sie oder ein Mitarbeiter versuchen, herauszufinden, wer alle Benutzer sind, die Systemverwaltungsaufgaben ausführen können.)
Daher ist es möglicherweise am besten , vagrant
als Administrator hinzuzufügen undNOPASSWD
Fähigkeiten vagrant
speziell (und nicht Administratoren im Allgemeinen) separat zuzuweisen .