Como especificar argumentos de comando em sudoers? Como pano de fundo, o aws
comando é na verdade um gateway para vários subsistemas e quero restringir o usuário a executar apenasaws s3 cp ...any other args...
Quando tento o seguinte em /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
Infelizmente, o shell solicita senha
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
gbt-ops's password:
Se eu remover o comando args em Cmnd_Alias, ele fluirá conforme desejado (sem solicitação de senha), mas a autorização será muito ampla. Portanto, qual é a maneira correta de restringir apenas a certos tipos de invocações de comando .
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws, /usr/local/aws/bin/aws
Então
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
...happy
Muito obrigado.