Как предоставить права sudo только определенным файлам сценария?

17

Я бы хотел, чтобы у пользователя были права sudo (без проверки пароля) на пару сценариев оболочки в определенном каталоге (в моем случае /usr/local/tomcat7/bin), и ни на что другое. Какой самый простой способ сделать это?

/etc/sudoersКажется, что-то вроде этого не работает:

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin
Jonik
источник

Ответы:

22

Я думаю, что ты почти там. поставить /в конце вашей спецификации каталога

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/

Со страницы руководства sudoers

Каталог - это полное имя пути, оканчивающееся на '/'. Когда вы укажете каталог в Cmnd_List, пользователь сможет запустить любой файл в этом каталоге (но не в каких-либо его подкаталогах).

user9517
источник
Спасибо (обоим ответчикам), получил это работает! Примечание для себя: нужно вызывать скрипты непосредственно (например sudo catalina.sh stop) - это не работает: sudo sh catalina.sh stop.
Йоник
7

Добавьте косую черту / в конец пути.

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/
h0tw1r3
источник