Я действительно создал центральный сервер auditd, на который я отправляю все журналы аудита с локальных серверов.
Мне нужны отчеты о доступе с определенного узла.
Итак, я создал простой сценарий отчета, в котором одна строка выглядит примерно так: ausearch -n XXXXX | aureport -i
Это запланировано следующим образом: 0 * / 4 * * * root /home/XXXX/report.sh
Разрешения: -rwxr-xr-x 1 root root 743 10 фев, 11:27 report.sh
Когда я выполняю сценарий из оболочки, все выглядит нормально, я получил почту с выводом журнала:
Summary Report ====================== Range of time in logs: **02/22/2017 23:24:09.603 - 02/24/2017 10:16:26.313** Selected time for report: **02/22/2017 23:24:09 - 02/24/2017 10:16:26.313** Number of changes in configuration: 0 Number of changes to accounts, groups, or roles: 0 Number of logins: 22 Number of failed logins: 2 Number of authentications: 54 Number of failed authentications: 0 Number of users: 5 Number of terminals: 4 Number of host names: 4 Number of executables: 14 Number of commands: 21 Number of files: 101 Number of AVC's: 0 Number of MAC events: 0 Number of failed syscalls: 20 Number of anomaly events: 0 Number of responses to anomaly events: 0 Number of crypto events: 256 Number of integrity events: 0 Number of virt events: 0 Number of keys: 1 Number of process IDs: 25087 Number of events: 96620
Но проблема в том, что когда я планирую это через crontab. Затем я получаю плохую дату и время без событий ... Примерно так:
Summary Report ====================== Range of time in logs: **01/01/1970 01:00:00.000 - 01/01/1970 01:00:00.000** Selected time for report: **01/01/1970 01:00:00 - 01/01/1970 01:00:00.000** Number of changes in configuration: 0 Number of changes to accounts, groups, or roles: **0** Number of logins: **0** Number of failed logins: **0** Number of authentications: **0** Number of failed authentications: **0** Number of users: **0** Number of terminals: **0** Number of host names: **0** Number of executables: **0** Number of commands: **0** Number of files: **0** Number of AVC's: **0** Number of MAC events: **0** Number of failed syscalls: **0** Number of anomaly events: **0** Number of responses to anomaly events: **0** Number of crypto events: **0** Number of integrity events: **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 вторник 6 декабря 23:06:41 UTC 2016
Есть идеи, почему это произошло?
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
.