操作系统Ubuntu 22.04.2 LTS。我和往常一样。使用visudo,我允许zabbix用户执行以下命令:
zabbix ALL=(ALL) NOPASSWD:/root/market-report/docker-compose_restart zabbix-agent2
在zabbix代理本身的配置中,我注册了执行系统命令的权限:
# nano /etc/zabbix/zabbix_agent2.conf
AllowKey=system.run[*]
不起作用。给出错误:
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
好的,我要加上:
# visudo
Defaults:zabbix !requiretty
不起作用。然后我尝试从这个用户在主机上执行脚本:
# sudo -u zabbix sudo /root/market-report/docker-compose_restart
没门…
[sudo] password for zabbix:
他还需要什么?如何通过sudo执行脚本而不需要密码
通常更容易。将脚本移动到另一个文件夹,并将所有者交给用户zabbix