使用无密码 sudo 的 munin 插件的“sudo: no tty present”

使用无密码 sudo 的 munin 插件的“sudo: no tty present”

我正在为 munin 编写一个插件,用于监控我们 Ubuntu Linux 服务器(位于 Amazon EC2 上)上的某些内容。该插件需要/usr/sbin/rabbitmqctl通过运行程序sudo

我有以下行/etc/sudoers

munin ALL = NOPASSWD: /usr/sbin/rabbitmqctl list_queues

如您所见,munin用户(即运行脚本的用户)可以/usr/sbin/rabbitmqctl list_queues通过 sudo 执行命令,无需密码。我已通过sudo -u munin -s运行它确认此方法有效。

但是在 munin 日志(/var/log/munin/munin-node.log)中,我得到了很多这样的插件输出:

2013/06/28-11:35:26 [28107]     sudo: no tty present and no askpass program specified

并且图表中没有数据。

在我的文件末尾/etc/sudoers,有这样一段通常被建议作为解决方案的内容:

Defaults    !requiretty

但是它并没有解决问题。常见的建议“取消注释 /etc/sudoers 中的该行”也不起作用,因为该文件中没有任何内容。

有没有办法允许我的 munin 插件通过 调用某些东西sudo

更新 №1:munin 插件由服务器上的 munin-node 执行,以 munin 用户身份运行,我无法将所有内容更改为以 root 身份运行所有内容。

答案1

这不是对您的特定查询的答案,而是对您的特定问题的解决方案。

不要使用sudo,而是像其他 munin 插件那样,覆盖运行特定插件的用户root

更多信息这里

你可以添加这样的部分,

[<plugin name>]
user <user>
group <group>

到目录munin-nodeplugin-conf.d(通常在/etc/munin)。

几个 munin 插件已经以 root 身份运行,所以如果您准备运行 munin,这已经是标准做法。

相关内容