Você pode substituir a configuração padrão de opções como requiretty
para um usuário específico ou para um comando específico (ou para um run-as-user ou host específico), mas não para um comando específico quando executado como um específico usuário.
Por exemplo, supondo que requiretty
esteja definido nas opções padrão de compilação, o seguinte arquivo sudoers
permite que artbristol
e bob
executem /path/to/program
como raiz de um script. artbristol
não precisa de senha, enquanto bob
precisa digitar uma senha (presumivelmente, tty_tickets
está desativado e bob
digitou sua senha em algum terminal recentemente).
artbristol ALL = (root) NOPASSWD: /path/to/program
bob ALL = (root) /path/to/program
Defaults!/path/to/program !requiretty
Se você quiser alterar a configuração de um comando com argumentos específicos, será necessário usar um alias de comando (essa é uma limitação de sintaxe). Por exemplo, o fragmento a seguir permite que artbristol
execute /path/to/program --option
em um script, mas não /path/to/program
com outros argumentos.
Cmnd_Alias MYPROGRAM = /path/to/program --option
artbristol ALL = (root) /path/to/program
artbristol ALL = (root) NOPASSWD: MYPROGRAM
Defaults!MYPROGRAM !requiretty