私のスクリプトでsudoを使用できるようにrequirettyを無効にしたいのですが、すべてのコマンドに対して無効にするよりも、単一のコマンドに対して無効にすることをお勧めします。 sudoers設定でこれは可能ですか?
ベストアンサー1
特定のユーザーや特定のコマンド(または特定の実行中のユーザーまたはホスト)などのオプションのデフォルト設定を上書きできますが、特定のユーザーとして実行される特定のrequiretty
コマンドについては上書きできません。
たとえば、次のファイルはrequiretty
コンパイルのデフォルトオプションに設定されていると仮定してスクリプトでrootとしてsudoers
許可され実行されます。パスワードは必要なく、むしろパスワードを入力する必要があります(おそらく一部の端末で閉じられ、最近入力された可能性があります)。artbristol
bob
/path/to/program
artbristol
bob
tty_tickets
bob
artbristol ALL = (root) NOPASSWD: /path/to/program
bob ALL = (root) /path/to/program
Defaults!/path/to/program !requiretty
特定のパラメータを使用してコマンド設定を変更するには、コマンドエイリアスを使用する必要があります(これは構文制限です)。たとえば、次のスニペットはスクリプト内で実行できますが、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