0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Zabbix Agent2をroot権限で起動できるようにする(AllowRoot代替)

Last updated at Posted at 2021-09-04

Zabbix Agent2でroot権限のファイルなどを監視する場合、以下のようなエラーが発生し監視が出来ません。
そのため、Zabbix Agent2をroot権限で起動しroot権限が必要な操作を実行可能とします。

image.png

error_example
Cannot open file "/var/log/messages": [13] Permission denied

#1. NG:zabbix_agent2.confでAllowRootを設定する
Zabbix Agent1でroot権限操作を行う際には、zabbix_agent.conf内のAllowRoot1とすることで、Zabbix Agnetをルート権限で起動することが出来ましたが、Zabbix Agent2ではこのオプションがオミットされているため、旧来通りの対策は出来ません。

zabbix_agent2.conf に AllowRoot=1を追記した場合、zabbix_agent2 プロセスが起動に失敗します。

Dropped parameters Description
AllowRoot, User Not supported because daemonization is not supported.

#2. OK:zabbix_agent2のユニットサービスを変更する
以下を参考に、zabbix_agent2のユニットサービス内のユーザ/グループ指定を変更して対応します。

対象のファイルは/etc/systemd/system/multi-user.target.wants/zabbix-agent2.serviceです。

設定変更箇所は[Service]内のUserGroupです。もともとはUser=zabbixとなっているため、rootに変更します。

zabbix-agent2.service_edit
[Unit]
Description=Zabbix Agent 2
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_agent2.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent2
Type=simple
Restart=on-failure
PIDFile=/run/zabbix/zabbix_agent2.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_agent2 -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=root
Group=root

[Install]
WantedBy=multi-user.target
設定変更前は`zabbix`ユーザで起動しているため、`daemon-reload`の後にプロセス再起動を行います。
service_restart
[root@cent79-02 ~]# ps -aux | grep zabbix
zabbix    8902  0.1  1.1 509240 21972 ?        Ssl  05:40   0:01 /usr/sbin/zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf

[root@cent79-02 ~]# systemctl daemon-reload
[root@cent79-02 ~]# systemctl restart zabbix-agent2

[root@cent79-02 ~]# ps -aux | grep zabbix
root      8967  0.5  1.0 508028 19648 ?        Ssl  05:58   0:00 /usr/sbin/zabbix_agent2 -c /etc/zabbix/zabbix_agent2.conf

ZabbixAgent2がrootユーザで起動していることが確認できました。
ZabbixServer側のアイテムステータスも正常になりました。

image.png

#後記
今回のエラー原因は/var/log/messageのパーミッションにちなむので、ファイル権限とローテーション権限を修正する方法もあったのですが、汎用性の話となんだか負けた気がするのでこちらの方法で行いました。

#参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?