/var/log 以下のファイルを監視しようとすると下記のようにパーミッションの 問題が生じます。 http://www.zabbix.jp/node/2852
もともとあるパーミッションを変更したくないのですが、そういったことは、可能なのでしょうか? userparameter つかって、頑張るのは可能だと思っていますが、
もともとあるログの読み込みをそのままつかえると便利だと思っています。
可能なのでしょうか?
どうしても、元のファイルのパーミッションを変更したくないとい うことであれば、お勧めしませんが、Zabbixエージェントをrootユ ーザで起動する方法があります。 設定としては、zabbix_agentd.confのAllowRootを1に設定します。
ただし、リモートコマンドの実行許可をしていたらなおさらなので すが、そこを経由して悪意のあるスクリプトやプログラムをroot権 限で実行されてしまう危険性があるため、不用意にroot権限での実 行を許さないためにもrootユーザでの起動はお勧めしません。
さっそくのレスありがとうございました。
言葉足らずですみません。root 権限付与はもちろん嫌なので、 sudo でなんとかならないかなというところです。 ダメなら、userparameter で tail などして対応します。
Zabbixのログ監視の機能を利用するのであれば、システムコールを 利用してファイルの属性や状態などを取得するので、そこにsudoで 割り込むような処理はソースを改変しない限り対応できないと思い ます。
tadashiさん
1.1.xの頃はZabbixエージェントの起動ユーザ選べたんですが、1.4.xから選べなくなったような… なので、1.4.x/1.6.xの頃はソース改造して、監視ができるユーザでZabbixエージェント起動できるようにしてました。 ※:昔のことなのでソースのどこを改造したか覚えてないですが…A(^^;
userparameterか、監視シェルを作ってcronで監視シェル動かしてZabbix Senderで投げるかですね…
2014-07-29 17:07 誤字修正:clon -> cron
KAZさん レスありがとうございました。そういうこともあったんですね。 パーミッションの問題が生じるログについてのベスト・プラクティスは、なんだろうと思っているのですが、 ログのパーミッションを変更するというのが基本みたいですね。 グループ権限で読めるようにするあたりがバランスとれたところでしょうか?
/****************************************************************************** * * * Function: daemon_start * * * * Purpose: init process as daemon * * * * Parameters: allow_root - allow root permission for application * * * * Author: Alexei Vladishev * * * * Comments: it doesn't allow running under 'root' if allow_root is zero * * * ******************************************************************************/ int daemon_start(int allow_root) { pid_t pid; struct passwd *pwd; char user[7] = "zabbix"; if (0 == allow_root && (0 == getuid() || 0 == getgid())) /* running as root? */ {
そこを変更したとしても、元のログファイルのパーミッションがroot ユーザしか読めないようなログであったりすると、
・ログファイルのパーミッションを変更したくない ・rootでは起動したくない
という要望は実現できないと思います。
ということで、私もグループに対する読み込み権限のみ付与する方法 を選択しています。
TNKさん
rootでしか見えないファイルはrootでしか読めないのは当然かと… 先ほど書いたのは業務アカウントでしか読めないログ出力しているときの対応方法の一つでも考えて下さい。 ※:rootでも読めないログです。
こうなるとアカウントを合わせるしか見る方法なく、環境によってログの種類や見方が変わるとuserparameterでやるのは面倒だなぁと…
昔の1.4とか1.6とかのころとあるホスティングの運用で使っていた手です。
■追記 元々の話が/var/log以下のファイルを読むという話なんで、rootの権限でのお話でしたよね。 他の話書いて紛らわしかったですね。 すいません。
とりあえず、グループですが、zabbix にしてしまうというやり方と、zabbix を root のグループに加えるという方法があります。 zabbix を root の group に加えるのがいいかなと思い加えたのですが、どうなんでしょうか? 他のアプリから読むことありそうなので、 便利だと思ったので、root グループはそのままという設定をしました。
とある会社のシステムの監視ではzabbixアカウントをrootグループに加えてましたね。 便利なので。A(^^;
KAZさん root group ならいいですよね。ということで、右にならえします。
アカウント名 tadashi
本名 長尾正
Twitter zanjibar
Zabbix関連
TNK - 投稿数: 4720
どうしても、元のファイルのパーミッションを変更したくないとい
うことであれば、お勧めしませんが、Zabbixエージェントをrootユ
ーザで起動する方法があります。
設定としては、zabbix_agentd.confのAllowRootを1に設定します。
ただし、リモートコマンドの実行許可をしていたらなおさらなので
すが、そこを経由して悪意のあるスクリプトやプログラムをroot権
限で実行されてしまう危険性があるため、不用意にroot権限での実
行を許さないためにもrootユーザでの起動はお勧めしません。
tadashi - 投稿数: 48
さっそくのレスありがとうございました。
言葉足らずですみません。root 権限付与はもちろん嫌なので、 sudo でなんとかならないかなというところです。
ダメなら、userparameter で tail などして対応します。
TNK - 投稿数: 4720
Zabbixのログ監視の機能を利用するのであれば、システムコールを
利用してファイルの属性や状態などを取得するので、そこにsudoで
割り込むような処理はソースを改変しない限り対応できないと思い
ます。
KAZ - 投稿数: 1085
tadashiさん
1.1.xの頃はZabbixエージェントの起動ユーザ選べたんですが、1.4.xから選べなくなったような…
なので、1.4.x/1.6.xの頃はソース改造して、監視ができるユーザでZabbixエージェント起動できるようにしてました。
※:昔のことなのでソースのどこを改造したか覚えてないですが…A(^^;
userparameterか、監視シェルを作ってcronで監視シェル動かしてZabbix Senderで投げるかですね…
2014-07-29 17:07 誤字修正:clon -> cron
tadashi - 投稿数: 48
KAZさん レスありがとうございました。そういうこともあったんですね。
パーミッションの問題が生じるログについてのベスト・プラクティスは、なんだろうと思っているのですが、
ログのパーミッションを変更するというのが基本みたいですね。
グループ権限で読めるようにするあたりがバランスとれたところでしょうか?
KAZ - 投稿数: 1085
グループ権限で読めるようにするあたりがバランスとれたところでしょうか?
じゃないかと…
やらないと思いますが、zabbix-2.2.4/src/libs/zbxnix/daemon.cの下記の「user[7] = "zabbix";」が起動アカウントかな…
※:検証してませんので、お気をつけください、
TNK - 投稿数: 4720
そこを変更したとしても、元のログファイルのパーミッションがroot
ユーザしか読めないようなログであったりすると、
・ログファイルのパーミッションを変更したくない
・rootでは起動したくない
という要望は実現できないと思います。
ということで、私もグループに対する読み込み権限のみ付与する方法
を選択しています。
KAZ - 投稿数: 1085
TNKさん
rootでしか見えないファイルはrootでしか読めないのは当然かと…
先ほど書いたのは業務アカウントでしか読めないログ出力しているときの対応方法の一つでも考えて下さい。
※:rootでも読めないログです。
こうなるとアカウントを合わせるしか見る方法なく、環境によってログの種類や見方が変わるとuserparameterでやるのは面倒だなぁと…
昔の1.4とか1.6とかのころとあるホスティングの運用で使っていた手です。
■追記
元々の話が/var/log以下のファイルを読むという話なんで、rootの権限でのお話でしたよね。
他の話書いて紛らわしかったですね。
すいません。
tadashi - 投稿数: 48
とりあえず、グループですが、zabbix にしてしまうというやり方と、zabbix を root のグループに加えるという方法があります。
zabbix を root の group に加えるのがいいかなと思い加えたのですが、どうなんでしょうか? 他のアプリから読むことありそうなので、
便利だと思ったので、root グループはそのままという設定をしました。
KAZ - 投稿数: 1085
tadashiさん
とある会社のシステムの監視ではzabbixアカウントをrootグループに加えてましたね。
便利なので。A(^^;
tadashi - 投稿数: 48
KAZさん root group ならいいですよね。ということで、右にならえします。