Zabbix 5.4.3 server配置systemd以非root用戶運行agent


如果 Zabbix server 和 agent 運行在相同的機器上,建議使用不同的用戶運行來 Zabbix server 和 agent。 否則,如果兩者都作為同一用戶運行,則 Zabbix agent 可以訪問 Zabbix server 配置文件,並且可以輕松檢索到 Zabbix 中的任何管理員級別的用戶,例如,數據庫密碼。以 root 、bin 或其他具有特殊權限的賬戶運行 Zabbix 是非常危險的。

1.創建用戶

# groupadd agent
# useradd -g agent agent

2.創建service

注意紅色部分需改為自己的路徑

# su - agent
$ mkdir -p ~/.config/systemd/user/
$ vim zabbix-agentd.service
 1 [Unit]
 2 Description=Zabbix Agent
 3 After=syslog.target network.target network-online.target
 4 Wants=network.target network-online.target
 5 [Service]
 6 Type=oneshot
 7 ExecStart=/usr/local/sbin/zabbix_agentd -c /opt/zabbix/zabbix-5.4.3/conf/zabbix_agentd.conf
 8 RemainAfterExit=yes
 9 PIDFile=/var/run/zabbix/zabbix_agentd.pid
10 [Install]
11 #WantedBy=multi-user.target
12 WantedBy=default.target

3.開機自啟

需先重新ssh進agent用戶

ssh agent@22.205.129.5
$ systemctl --user daemon-reload
$ systemctl --user list-unit-files | grep zabbix
$ systemctl --user enable zabbix-agentd.service
$ systemctl --user start zabbix-agentd.service
$ systemctl --user status zabbix-agentd.service

 

 loginctl enable-linger以使得用戶注銷后,進程以及它管理的服務並不會退出

$ loginctl show-user agent | grep Linger
$ loginctl enable-linger
$ loginctl show-user agent | grep Linger

4.驗證

 

 5.小插曲

第一次systemctl start時報了下面的錯誤:

zabbix_agentd [42144]: cannot open "/tmp/zabbix_agentd.log": [13] Permission denied

原因是之前我用root用戶啟動過zabbix_agentd並生成了log文件,所以報權限不夠,刪掉原log文件即可成功運行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM