Ich möchte requiretty deaktivieren, damit ich in Skripten sudo kann, aber ich möchte es lieber nur für einen einzelnen Befehl anstatt für alles deaktivieren. Ist das in der sudoers-Konfiguration möglich?
Sie können die Standardeinstellung für Optionen außer Kraft setzen, z. B. requiretty
für einen bestimmten Benutzer oder einen bestimmten Befehl (oder für einen bestimmten Benutzer oder Host), jedoch nicht für einen bestimmten Befehl, wenn Sie als bestimmter Benutzer ausgeführt werden.
Zum Beispiel, dass unter der Annahme , requiretty
Satz in den Kompilierung-Standardoptionen ist, wird die folgende sudoers
ermöglicht Datei sowohl artbristol
und bob
auszuführen /path/to/program
als root aus einem Skript. artbristol
benötigt kein Passwort, bob
muss aber ein Passwort eingeben (ist vermutlich tty_tickets
deaktiviert und hat bob
sein Passwort kürzlich auf einem Terminal eingegeben).
artbristol ALL = (root) NOPASSWD: /path/to/program
bob ALL = (root) /path/to/program
Defaults!/path/to/program !requiretty
Wenn Sie die Einstellung für einen Befehl mit bestimmten Argumenten ändern möchten, müssen Sie einen Befehlsalias verwenden (dies ist eine Syntaxbeschränkung). Das folgende Fragment ermöglicht beispielsweise artbristol
die Ausführung /path/to/program --option
in einem Skript, jedoch nicht /path/to/program
mit anderen Argumenten.
Cmnd_Alias MYPROGRAM = /path/to/program --option
artbristol ALL = (root) /path/to/program
artbristol ALL = (root) NOPASSWD: MYPROGRAM
Defaults!MYPROGRAM !requiretty
Etwas wie das:
myuser ALL=(ALL) NOPASSWD:/usr/local/bin/mycmd
Defaults:myuser !requiretty
/etc/sudoers
, scheint aber in einer/etc/sudoers.d/
Datei nicht zu funktionieren/etc/sudoers.d/
Datei hinzugefügt wurde . CentOS 7.1/etc/sudoers.d/
. CentOS 7.5 :(Ich fand es funktioniert gut für mich mit einer Datei in
/etc/sudoers.d
. Es ist ganz einfach zu überprüfen.Zuerst habe ich
/etc/sudoers.d/01build
mit den Inhalten erstellt:Dann getestet, dass es funktioniert:
Dann habe ich
/etc/sudoers.d/01build
dieDefaults:
Zeile geändert und gelöscht und danach bekomme ich:quelle