【问题标题】:How to give sudo permission for user to run a script with process ID如何授予用户 sudo 权限以运行具有进程 ID 的脚本
【发布时间】:2017-01-09 13:11:35
【问题描述】:

我想授予 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,在服务重启时会随机改变。

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

【问题讨论】:

  • 传递给脚本的进程ID是脚本PID还是其他?
  • “java 的进程 ID”是什么意思?哪个流程?

标签: linux shell sudo visudo


【解决方案1】:

我已经通过删除

中的 (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

谢谢大家!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    相关资源
    最近更新 更多