标签:server start 检测 解决问题 切换用户 .com .sh art alt
前言平台上有一应用程序需要调用百度的某个接口,需要连接外网,所以编写了脚本来对百度外网的连通性进行测试。但在server端检测时出现权限不够的问题
~]# vim /etc/zabbix/zabbix-agent.conf
UserParameter=baidu_network_status[*], /root/bin/baidu.sh $1
脚本放置目录为/root/bin下
需要重启zabbix-agent服务
~]# service zabbix-agent restart
我们知道脚本的执行者是zabbix,而执行权限是所有人都可执行。直接执行脚本是可以执行的,那么我们切换用户身份执行以下
果真切换用户身份无法执行命令,这时我才猛然醒悟,zabbix用户是无法进入到root用户的家目录的,由下图可以看出,/root目录的权限是550,zabbix无法进入,更不用提执行命令了。
将要运行的脚本放在zabbix用户可以执行的目录之下。为了统一规范,将所有脚本放置在/etc/zabbix/scripts目录下。
~]# mkdir -pv /etc/zabbix/scripts
~]# cp /root/bin/baidu.sh /etc/zabbix/scripts
~]# service zabbix-agent restart
可以看到此时能够获取值了。
标签:server start 检测 解决问题 切换用户 .com .sh art alt
原文地址:http://blog.51cto.com/13589448/2070180