通过 crontab 的auditd脚本 - 错误日期

通过 crontab 的auditd脚本 - 错误日期

我确实创建了一个中央auditd服务器,我从本地服务器发送所有审计日志。

我想要报告来自特定节点的访问。

所以我创建了一个简单的报告脚本,其中一行类似于: ausearch -n XXXXX |奥雷波特-i

它的安排如下: 0 */4 * * * root /home/XXXX/report.sh

权限为:-rwxr-xr-x 1 root root 743 Feb 10 11:27 report.sh

当我从 shell 执行脚本时,一切看起来都正常,我收到了带有日志输出的邮件:

总结报告
=====================
日志中的时间范围: **02/22/2017 23:24:09.603 - 02/24/2017 10:16:26.313**
选择报告时间:**02/22/2017 23:24:09 - 02/24/2017 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 安排它时。然后我收到错误的日期和时间,没有任何事件......类似这样的事情:

总结报告
=====================
日志中的时间范围: **01/01/1970 01:00:00.000 - 01/01/1970 01:00:00.000**
选择报告时间: **01/01/1970 01:00:00 - 01/01/1970 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([电子邮件受保护]) (gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP 12 月 6 日星期二 23:06:41 UTC 2016

知道为什么会这样吗?

答案1

cron 在受限环境下运行,您必须扩展它。将 PATH 变量设置为与当前环境相同的值。 crontab 示例:

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比较您的环境和 crons 环境或跟踪使用情况ltrace -egetenv

相关内容