linux - 如何为用户授予 sudo 权限以运行具有进程 ID 的脚本

标签 linux shell sudo visudo

我想授予 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 是要执行的脚本,21580java 的进程 ID,它在服务重启时随机更改。

但它不起作用。谁能帮我解决这个问题?

最佳答案

我已经通过删除

中的 (root) 解决了这个问题

用户 ALL = (root) 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/

相关文章:

linux - 如何授予jenkins用户访问linux上特定目录的权限

linux - shell脚本中的su命令

c - C 中的信号排队

linux - 无法安装/修复咖啡因(咖啡因)

shell - 使用nagios调用shell脚本执行

使用 cron 作业时 exec bash shell 出现 PHP 错误?

c - 在 C 中实现 shell

macos - 以 root 身份运行应用程序的 Apple 脚本

linux - Android Studio 是否应该在 Linux 上使用 sudo 运行

ffmpeg - 使用 ffmpeg 将脉冲音频记录为 CAP_SYS_ADMIN