sudoersでコマンド引数を指定するにはどうすればよいですか?背景として、aws
コマンドは実際にはサブシステムの束全体へのゲートウェイであり、ユーザーが実行するだけに制限したいaws s3 cp ...any other args...
私が以下を試してみると /etc/sudoers
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws s3 cp, /usr/local/aws/bin/aws s3 cp
gbt1 ALL=(gbt-ops) NOPASSWD: AWSS3_CMD
シェルは残念ながらパスワードの入力を求めます
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
gbt-ops's password:
Cmnd_Aliasのコマンドargsを削除すると、必要に応じて(パスワードプロンプトなしで)流れますが、認証が広すぎます。だから、コマンド呼び出しの唯一の特定の種類に制限する正しい方法は何ですか。
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws, /usr/local/aws/bin/aws
それから
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
...happy
どうもありがとう。
なぜ/ usr / local / bin / aws、/ usr / local / aws / bin / awsがあるのですか?同じ行でコマンドを2回繰り返したということですか?
—
モハメッドヌールディン16