crontabによるauditdスクリプト - 無効な日付

crontabによるauditdスクリプト - 無効な日付

セントラル監査サーバーを作成し、ローカルサーバーからすべての監査ログを送信します。

特定のノードのアクセスを報告したいと思います。

そのため、次のような行を使用して簡単なレポートスクリプトを作成しました。 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

おすすめ記事