Ein weiterer Vorteil der Verwendung, visudo -f
wie in einigen Antworten erwähnt, besteht darin, dass es eine entsprechende Option gibt -c
oder --check
dass überprüft wird, ob in einer sudoers.d-Datei oder in einer anderen Datei, die Sie möglicherweise in sudoers.d einfügen möchten, keine ungültigen Informationen enthalten sind. Dies ist in den genannten Fällen mit automatisierten Tools WIRKLICH praktisch, da Sie z
sudo visudo -c -q -f /home/myuser/mysudoers && \
sudo chmod 600 /home/myuser/mysudoers && \
sudo cp /home/myuser/mysudoers /etc/sudoers.d/mysudoers
Dies überprüft die Datei im Hintergrund (keine Ausgabe aufgrund von -q) und nur, wenn dies KEIN Fehler zurückgibt (Exit 1 bedeutet eine ungültige sudoers-Datei), kopiert es die Datei in sudoers.d, auf diese Weise können Sie die Datei und erstellen Arbeiten Sie daran, ohne es gleich beim ersten Mal richtig machen zu sudo visudo -f /etc/sudoers.d/myfile
müssen.
Auch ein Wort der Vorsicht in Bezug auf diese Aussagen aus den anderen Antworten.
Ich habe die Erfahrung gemacht, dass die Regeln für Dateien in diesem Verzeichnis strenger sind als für / etc / sudoers. Dies beinhaltet:
Fehler in der Datei führten nicht zum Fehlschlagen von sudo. Die Datei wurde jedoch ignoriert. Die Berechtigungsregeln scheinen weniger streng zu sein. Ich erlaube der entsprechenden Gruppe, die Datei zu lesen. Ich glaube nicht, dass das mit / etc / sudo möglich ist.
Dateien in /etc/sudoers.d müssen der gleichen Syntax wie / etc / sudoers folgen, da das System unter den Deckblättern einfach alle Dateien mit der letzten in "winning" zusammenfügt, wenn es mehrere Einträge für dieselbe gibt einzigartige Einstellung.
Wenn die Berechtigungen für Dateien in /etc/sudoers.d/ furchtbar falsch (weltweit beschreibbar) sind, werden sie möglicherweise ignoriert. Dies kann dazu führen, dass ungültige Dateien übersehen werden. Andernfalls können Sie den sudo
Befehl ernsthaft unterbrechen, indem Sie ungültige Sudoers verwenden. d-Datei mit korrekten Berechtigungen.
Sie können zulassen, dass die sudoers-Dateien von der Welt gelesen werden können, wenn Sie versehentlich "other" die Schreibberechtigung erteilen, die Sie benötigen, um als anderer Benutzer oder von einem Root-Terminal aus sudo zu schreiben, und diesen Befehl ausführen. Dies kann auch scheitern, wenn die Datei nicht root gehört: root.
sudo chmod 644 /etc/sudoers.d/mysudoers
sudo chown root:root /etc/sudoers.d/mysudoers
Ich habe gerade bestätigt, dass ich, wenn ich chmod o+w /etc/sudoers.d/vagrant
nicht länger sudo als vagabundierender Benutzer ausführen kann, zur Eingabe meines Kennworts aufgefordert werde und dann fehlschlägt.
Als ich ausgeführt wurde sudo -l
, um die angewendeten Befehlsberechtigungen als ein anderer gültiger sudo-Benutzer anzuzeigen, erhielt ich auch eine Warnung zu den Dateiberechtigungen. Dies ist der gleiche Befehl, den ich verwendet habe, um zu bestätigen, dass der "vagabundierende" Benutzer sudo verloren hat, als ich o+w
Berechtigungen auf die Datei angewendet habe , die diesen Benutzer sudo-Berechtigungen erteilt hat.