Як вказати аргументи команд у судерах? Як фон, 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, то вона протікає за бажанням (без запиту пароля), але авторизація занадто широка. Отже, який правильний спосіб обмеження лише певних типів викликів команд .
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
Дуже дякую.