场景

由于zabbix是用zabbix用户来运行,而nmap -O命令需要root用户来运行,显然zabbix用户无法执行该命令,那么如何实现该功能呢.

解决方案

修改sudoers的设置,我们用visudo命令来修改.

# 打开visudo,在最后一行添加下面的参数
## Add for Zabbix
Defaults:zabbix !requiretty
Cmnd_Alias ZABBIX_CMD = /sbin/fuser, /usr/sbin/lsof, /usr/sbin/dmidecode, /sbin/mii-tool, /sbin/ethtool, /usr/bin/ipmitool, /usr/sbin/iptstate, /usr/bin/ocaudit, /usr/bin/nmap
zabbix ALL = (other_user) NOPASSWD: ALL
zabbix ALL = (root) NOPASSWD: ZABBIX_CMD