¿Cómo especifico argumentos de comando en sudoers? Como fondo, el aws
comando es en realidad una puerta de entrada a un montón de subsistemas y quiero restringir al usuario para que solo se ejecuteaws s3 cp ...any other args...
Cuando intento lo siguiente en /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
El shell lamentablemente solicita contraseña
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
gbt-ops's password:
Si elimino el comando args en Cmnd_Alias, fluye según lo deseado (sin solicitud de contraseña), pero la autorización es demasiado amplia. Entonces, ¿cuál es la forma correcta de restringir solo a ciertos tipos de invocaciones de comandos ?
Cmnd_Alias AWSS3_CMD = /usr/local/bin/aws, /usr/local/aws/bin/aws
Luego
$ sudo -u gbt-ops aws s3 cp helloworld s3://my-bucket/hw.1
...happy
Muchas gracias.