Wenn Sie die Befehle anpassen, über die sudo
Sie sie ausführen können, sollten Sie diese Änderungen im Idealfall in einer separaten Datei unter vornehmen, /etc/sudoers.d/
anstatt die sudoers
Datei direkt zu bearbeiten . Sie sollten auch immer verwenden visudo
, um die Datei (en) zu bearbeiten.
Beispiel:
sudo visudo -f /etc/sudoers.d/slowcpu
Geben Sie Ihre Zeilenberechtigung ein:
gatoatigrado ALL=NOPASSWD: /bin/set-slow-cpufreq
Speichern und visudo
beenden Sie dann und Sie werden gewarnt, wenn Sie Syntaxfehler haben.
Sie können ausführen sudo -l
, um die Berechtigungen anzuzeigen, die Ihrem Benutzer erteilt wurden. Wenn einer der benutzerspezifischen NOPASSWD
Befehle VOR einem %groupyouarein ALL=(ALL) ALL
Befehl in der Ausgabe angezeigt wird, werden Sie zur Eingabe Ihres Kennworts aufgefordert.
Wenn Sie feststellen, dass Sie viele dieser sudoers.d-Dateien erstellen, möchten Sie sie möglicherweise nach Benutzer benannt erstellen, damit sie leichter zu visualisieren sind. Beachten Sie, dass die Reihenfolge der DATEINAMEN und der REGELN in der Datei sehr wichtig ist. Die zuletzt geladene Datei gewinnt, unabhängig davon, ob MEHR oder WENIGER als die vorherigen Einträge zulässig ist.
Sie können die Reihenfolge der Dateinamen steuern, indem Sie ein Präfix von 00-99 oder aa / bb / cc verwenden. Beachten Sie jedoch auch, dass Dateien, die kein numerisches Präfix haben, nach den nummerierten Dateien geladen werden Einstellungen. Dies liegt daran, dass abhängig von Ihren Spracheinstellungen die "lexikalische Sortierung", die die Shell verwendet, zuerst Zahlen sortiert und dann bei der Sortierung in "aufsteigender" Reihenfolge Groß- und Kleinbuchstaben verschachtelt.
Versuchen Sie es mit printf '%s\n' {{0..99},{A-Z},{a-z}} | sort
und, um printf '%s\n' {{0..99},{A-Z},{a-z}} | LANG=C sort
zu sehen, ob Ihre aktuelle Sprache gedruckt wird AaBbCc
usw., oder bestimmen Sie ABC
dann abc
, welches das beste Präfix für den "letzten" Buchstaben ist.
sudoers
, ist die Reihenfolge der Regeln nicht unerheblich.