如何只向特定脚本文件授予sudo权限?


17

我希望用户对特定目录下的几个Shell脚本(在我的情况下/usr/local/tomcat7/bin)具有sudo权限(无需密码检查),而在其他任何地方都没有。最简单的方法是什么?

像这样的东西/etc/sudoers似乎没有用:

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

Answers:


22

我想你快到了。/在目录规范的末尾放一个

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

从sudoers手册页

目录是以“ /”结尾的标准路径名。当您在Cmnd_List中指定目录时,用户将能够运行该目录中的任何文件(但不能运行其中的任何子目录)。


感谢(两个答复者),让它正常工作!自我注意:需要直接调用脚本(例如sudo catalina.sh stop)-这不起作用:sudo sh catalina.sh stop
约尼克,

7

在路径末尾添加斜杠“ /”。

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.