セントラル監査サーバーを作成し、ローカルサーバーからすべての監査ログを送信します。
特定のノードのアクセスを報告したいと思います。
そのため、次のような行を使用して簡単なレポートスクリプトを作成しました。 ausearch -n XXXXXX | aureport -i
次のように配列されます。 0 */4 * * * root /home/XXXX/report.sh
権限は次のとおりです。 -rwxr-xr-x 1 root root 743 Feb 10 11:27 report.sh
シェルでスクリプトを実行すると、すべてが問題なく表示され、ログ出力を含む電子メールが届きます。
要約レポート ====================== ログの時間範囲: **2017年2月22日 23:24:09.603 - 2017年2月24日 10:16:26.313** 報告時間の選択: **2017年2月22日 23:24:09 - 2017年2月24日 10:16:26.313** 構成変更回数:0 アカウント、グループ、または役割の変更:0 ログイン数:22 失敗したログイン数:2 認証数:54 認証失敗回数:0 ユーザー数:5 端末数:4 ホスト名数:4 実行可能ファイル数: 14 コマンド数:21 ファイル数:101 AVC数量:0 MACイベント数:0 失敗したシステムコールの数:20 異常イベント数:0 異常イベント応答回数:0 暗号通貨イベント数:256 整合性イベント数:0 仮想イベント数:0 キー数:1 プロセスIDの数:25087 イベント数:96620
しかし、問題はcrontab経由で予約するときです。その後、イベントなしで間違った日付と時刻を取得します。次のようになります。
要約レポート ====================== ログの時間範囲:**1970年1月1日01:00:00.000 - 1970年1月1日01:00:00.000** 報告時間の選択:**1970年1月1日01:00:00 - 1970年1月1日01:00:00.000** 構成変更回数:0 アカウント、グループ、または役割の変更: **0** ログイン数:**0** ログイン失敗回数: **0** 認証数: **0** 認証失敗回数: **0** ユーザー数: **0** 端末数: **0** ホスト名の数: **0** 実行可能ファイル数: **0** コマンド数: **0** ファイル数: **0** AVC数量: **0** MAC イベント数: **0** 失敗したシステムコールの数: **0** 異常イベント数: **0** 異常イベント応答回数: **0** 暗号化イベントの数: **0** 整合性イベントの数: **0**
私のLinuxバージョン:Linuxバージョン3.10.0-514.2.2.el7.x86_64([Eメール保護])(gccバージョン4.8.5 20150623(Red Hat 4.8.5-11)(GCC))#1 SMP Tue Dec 6 23:06:41 UTC 2016
なぜこれが起こるのかご存知ですか?
ベストアンサー1
cronは限られた環境で実行されるため、それを拡張する必要があります。 PATH変数を現在の環境と同じ値に設定します。クローンタブの例:
PATH=/home/xxxxx/bin:/usr/local/bin:/usr/bin:/bin
SHELL=/bin/zsh
MAILTO=xxxxx
#
# minute 0-59
# hour 0-23
# dom 1-31
# mon 1-12 (or names)
# dow 0-7 (0 or 7 is Sun, or use names)
#
# mm hh dom mon dow command
* * * * * set > /tmp/cronenv
set > /tmp/myenv
あなたの環境をクロン環境と比較したり、使用量を追跡したりするのに役立ちますltrace -egetenv
。