是否可以将 sudo 与 !requiretty 一起用于特定命令

Gui*_*ume 11 sudo

我试图允许在没有 tty 的情况下在 sudo 下运行特定命令。我发现我可以为一个组禁用 requiretty:

Defaults:%support !requiretty
Run Code Online (Sandbox Code Playgroud)

但我不知道如何为单个命令做到这一点。有可能吗?

Den*_*son 12

你应该能够做到:

Cmnd_Alias                NOTTYCMDS = /path/to/cmd1, /path/to/cmd2
Defaults!NOTTYCMDS        !requiretty
Run Code Online (Sandbox Code Playgroud)

  • 这适用于我运行 Sudo 版本 1.7.4p5。 (2认同)

小智 5

要禁用单个命令的 sudo tty 要求,请在 sudoers 文件中使用以下内容:

Defaults!/path/command !requiretty
Run Code Online (Sandbox Code Playgroud)

(这是对启用该选项的“默认要求”行的补充。注意可能令人困惑的语法:第一个“!”仅表示后面是命令列表(与“:”相比,用户列表等),而第二个“!”表示“不是”。)