zabbix_agentd.confのAllowRootについて
お世話になります。
Zabbix 1.8.5のzabbix_agentd.confにはAllowRootに関する
記述がありますが、AllowRoot=1としてagentをrootで起動
するときに起動時に下記エラーが発生します。
# /etc/init.d/zabbix_agentd start
zabbix_agentd [8314]: User zabbix does not exist.
zabbix_agentd [8314]: Cannot run as root !
zabbixユーザを作成すると問題なく動作しますが、AllwRootは
廃止されたのでしょうか?
kodai - 投稿数: 1341
確認はしていないのですが、廃止されたということはないと思います。
Zabbixの設定ファイルは間違っていたり2重で記載してもエラーを出さないので、タイプミスがないかどうか、AllowRootが2ヶ所に記載されていたりしないか確認してみてもらえるでしょうか?
fuji - 投稿数: 12
ご回答ありがとうございます。
下記URLのオンラインマニュアルを確認するとサポートされているパラメータ一覧にAllowRootがありません。そのため廃止されたのかと思っておりました。
http://www.zabbix.com/documentation/jp/1.8/manual/processes/zabbix_agentd
ただ、英語版を確認すると記載がありますのでご指摘の記述ミスについても再度確認いたします。
http://www.zabbix.com/documentation/1.8/manual/processes/zabbix_agentd
TNK - 投稿数: 4769
廃止されていません。
CentOS 5上で確認してみましたが、zabbixユーザが登録されていな
い状態でAllowRootを有効にし、rootユーザで
<code>
# /etc/init.d/zabbix_agentd start
</code>
を実行すればrootユーザでzabbix_agentdを起動することができる
ことを確認できています。
# zabbixユーザが登録されていてもAllowRootを有効にすれば可能
# です。
というエラーが出るとのことですから、ソース(daemon.c)の
<code>
/* running as root ?*/
if((0 == allow_root) && (0 == getuid() || 0 == getgid()))
</code>
の条件に合致してしまっているのだと思われます。
再度、idコマンドなどを利用して、uidやgidが0のrootユーザで実
行されているかをご確認下さい。
kodai - 投稿数: 1341
日本語版のマニュアルが古いためだと思います。英語版には記載がありました。
http://www.zabbix.com/documentation/1.8/manual/processes/zabbix_agentd
fuji - 投稿数: 12
お世話になります。
環境をお伝えしていなくて申訳ありません。
うまく動作しない環境はSolaris10でソースからコンパイルしたものです。
?CC=/usr/sfw/bin/gcc
?PATH=/usr/sfw/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/bin:/usr/sbin:/usr/ucb:/etc:.
?LD_LIBRARY_PATH=/usr/local/lib:/usr/sfw/lib:usr/lib:
こちらでも確認したところ、RHEL4で動作させているものやCetOS5で動作させているものは問題なくAllowRoot=1でroot実行できましたが、Solaris10環境ではできませんでした。
rootユーザのUIDとGIDは以下になります。
# id
uid=0(root) gid=0(root)
暫定としてSolaris環境では/etc/passwdでzabbixユーザのuidを0に変更し、シェルを/bin/falseで運用しようかと考えています。