我想禁用 requiretty 以便我可以在脚本中使用 sudo,但我宁愿只对单个命令禁用它,而不是对所有命令禁用它。这可能在 sudoers 配置中吗?
Gil*_*il' 58
您可以覆盖选项的默认设置,例如requiretty特定用户或特定命令(或特定用户或主机运行),但不能覆盖作为特定用户执行的特定命令。
例如,假设requiretty在 compile-default 选项中设置,以下sudoers文件允许artbristol和bob以/path/to/programroot 身份从脚本中执行。artbristol不需要密码而bob必须输入密码(大概tty_tickets是关闭并bob最近在某个终端上输入了他的密码)。
artbristol ALL = (root) NOPASSWD: /path/to/program
bob ALL = (root) /path/to/program
Defaults!/path/to/program !requiretty
Run Code Online (Sandbox Code Playgroud)
如果要更改具有特定参数的命令的设置,则需要使用命令别名(这是语法限制)。例如,以下片段允许在脚本中artbristol运行/path/to/program --option,但不能/path/to/program使用其他参数。
Cmnd_Alias MYPROGRAM = /path/to/program --option
artbristol ALL = (root) /path/to/program
artbristol ALL = (root) NOPASSWD: MYPROGRAM
Defaults!MYPROGRAM !requiretty
Run Code Online (Sandbox Code Playgroud)
JRF*_*son 33
像这样的东西:
myuser ALL=(ALL) NOPASSWD:/usr/local/bin/mycmd
Defaults:myuser !requiretty
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129653 次 |
| 最近记录: |