Zabbix中自定義Key執行時權限不夠
阿新 • • 發佈:2018-02-08
外網 work 可執行 dir 51cto 命令 zabbix用戶 測試 con 前言
平臺上有一應用程序需要調用百度的某個接口,需要連接外網,所以編寫了腳本來對百度外網的連通性進行測試。但在server端檢測時出現權限不夠的問題
一. Zabbix-agent 配置自定義key
~]# vim /etc/zabbix/zabbix-agent.conf
UserParameter=baidu_network_status[*], /root/bin/baidu.sh $1
腳本放置目錄為/root/bin下
需要重啟zabbix-agent服務
~]# service zabbix-agent restart
二. 在Zabbix-Server端測試
三. 問題排查
1. agent端查看腳本使用有執行權限
我們知道腳本的執行者是zabbix,而執行權限是所有人都可執行。直接執行腳本是可以執行的,那麽我們切換用戶身份執行以下
2. agent端切換用戶身份執行
果真切換用戶身份無法執行命令,這時我才猛然醒悟,zabbix用戶是無法進入到root用戶的家目錄的,由下圖可以看出,/root目錄的權限是550,zabbix無法進入,更不用提執行命令了。
四. 解決問題
將要運行的腳本放在zabbix用戶可以執行的目錄之下。為了統一規範,將所有腳本放置在/etc/zabbix/scripts目錄下。
1.常見腳本目錄
~]# mkdir -pv /etc/zabbix/scripts
~]# cp /root/bin/baidu.sh /etc/zabbix/scripts
2.修改zabbix-agent配置文件
3.重啟zabbix-agent
~]# service zabbix-agent restart
五.server端測試key
可以看到此時能夠獲取值了。
Zabbix中自定義Key執行時權限不夠