Sudoers、特定程序和所述程序参数

Sudoers、特定程序和所述程序参数

我有一个 /etc/sudoers.d 文件,我想以用户 (zabbix) 的身份运行一个带有参数的程序 (asterisk)。到目前为止,我已经尝试过:

zabbix ALL = NOPASSWD: /etc/path/to/my/script.sh

zabbix ALL=(ALL) NOPASSWD: /etc/path/to/my/script.sh

脚本所做的就是运行sudo /usr/sbin/asterisk -rx "pjsip show channelstats"。我尝试在 sudoers 文件中直接运行此命令,但即使这样,它看起来也像。

zabbix ALL=(ALL) NOPASSWD: /usr/sbin/asterisk -rx "pjsip show channelstats"

而且我也尝试过转义引号,但没有成功,看起来像。

zabbix ALL=(ALL) NOPASSWD: /usr/sbin/asterisk -rx \\"pjsip show channelstats\\"

它仍然要求我输入密码。即使我将所有参数更改为用户“星号”甚至“root”,它仍然要求输入密码。当我转到 Zabbix(监控服务器)并尝试检索所述数据时,它会收到此错误消息。

sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper

sudo: a password is required

但是,如果我只给它可执行文件,而不带参数,我如何才能让它工作,因为在没有任何特定参数的情况下访问 Asterisk 是一种非常非常糟糕的做法。我怎样才能让它不要求输入密码?

PS 我总是使用 Visudo 来编辑 Sudoers 文件。

谢谢。

相关内容