Nagios は、IT インフラストラクチャ監視システムです。そのための簡単なプラグイン スクリプトを作成しています。そのための特別なアカウント nagios が作成されており、スクリプトはそのアカウントで Nagios によって実行されます。
デバッグ目的のため、スクリプトは非常に単純です。
#!/bin/bash
echo "OK - Running okay" ~ `id`
~
の値、つまりホーム ディレクトリとコマンドの結果をエコーしますid
。
nagios アカウント ( su -l nagios
) にログインし、コマンド ラインからテストします。
OK - Running okay /home/nagios uid=1005(nagios) gid=1007(nagios) groups=1007(nagios),1008(nagcmd)
それはまさに私が期待していることです。
Nagios システム内から実行すると、報告された結果は次のとおりです。
OK - Running okay /home/julian uid=1005(nagios) gid=1007(nagios) groups=1007(nagios),1008(nagcmd)
待ってください、/home/julian
私のアカウントのホーム ディレクトリです。ただし、nagios アカウントにログインしています。その矛盾は私には意味がありません。これがどのように機能するのか、明らかにわかりません。
これがどのように起こっているのか、何か提案はありますか?