我想给sudo权限,在执行脚本时不需要密码。我面临的问题是在运行脚本时必须提供进程ID作为参数。我尝试了visudo下面的条目,但它失败了,并且没有执行命令的权限:

user ALL = (root) NOPASSWD: /usr/java/jdk1.7.0_25/bin/jstack 21580

我也试过:
user ALL = (root) NOPASSWD: /usr/java/jdk1.7.0_25/bin/jstack

jstack是要执行的脚本,21580是在重新启动服务时随机更改的java的进程ID。
但它不起作用。有人能帮我吗?

最佳答案

我已通过删除
user ALL=(根)NOPASSWD:/usr/java/jdk1.7.0_25/bin/jstack
现在一切都很好。只是我的错误:)
进程ID只是要为其打印堆栈跟踪的进程ID。
更多信息:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstack.html
谢谢大家!!

关于linux - 如何为用户授予sudo权限以运行具有进程ID的脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41548863/

10-12 01:34