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가 있습니까? 같은 줄에서 명령을 두 번 반복 했습니까?
—
Mohammed Noureldin