sudoers - 特定のユーザーでコマンドを実行するとき

sudoers - 特定のユーザーでコマンドを実行するとき

特定のユーザーで特定のコマンドを実行すると、特定の環境変数を保存したいと思いますsudo。以下にコピーされた段落を正しく読み取ると(強調表示されているセクションを参照)、これを行うことができると提案されているようですが、以下の構文man sudoers仕様はこのセクションと一致しないようです(該当するセクションではない限り)。すべての例。可能ですか?現在失敗した試みは次のとおりです。DefaultsRunas

/etc/sudoers.d/certain:4:23: syntax error
Defaults:certain-user!/certain-command.sh env_keep += "ENV_VAR1 ENV_VAR2"
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

私はこのアプローチのバリエーション(スペースの追加、コマンドの変更など)を試しましたが、役に立ちませんでした。

私が言及した段落は次のとおりです。

デフォルト値
一部の設定オプションは、1つ以上のDefault_Entry行を介して実行時にデフォルト値を変更することがあります。これは、すべてのホストのすべてのユーザー、特定のホストのすべてのユーザー、特定のユーザー、特定のコマンド、またはコマンドは特定のユーザーとして実行されます。。各コマンド項目にはコマンドライン引数を含めることはできません。パラメータを指定する必要がある場合は、Cmnd_Aliasを定義して参照してください。

Default_Type ::= 'Defaults' |  
                 'Defaults' '@' Host_List |  
                 'Defaults' ':' User_List |  
                 'Defaults' '!' Cmnd_List |  
                 'Defaults' '>' Runas_List

どんな助けや洞察力でも大変感謝いたします。

答え1

「特定のユーザーとして実行されるコマンド」を「特定のユーザーとして実行される特定のコマンド」と解釈したようですが、「すべてのコマンドが特定のユーザーとして実行される場合」を意味すると思いました。

とにかく、実行ツールとコマンドに制限を追加することは不可能ですDefaults。ここに示されている構文ではこれを許可しません。もしそうなら:

Default_Type ::= 'Defaults' |  
                 Defaults_Type '@' Host_List |  
                 Defaults_Type ':' User_List |  
                 Defaults_Type '!' Cmnd_List |  
                 Defaults_Type '>' Runas_List

そうすることができますが、言及したように、構文は次のようにのみ許可します。

Defaults
Defaults@...
Defaults:...
Defaults!...
Defaults>...

関連情報