前提:相关services均有重启、确认status正常、均使用root、Red Hat 7.9 & 8.6。
vi /etc/audit/rules.d/audit.rules
底下有加了:-w /tmp/test -p wa -k audit_check
手动执行都正常:
ausearch -ts today -k audit_check > /var/log/audit_check/audit_check.log
当/tmp/test内有异动会写入到audit_check.log
但我用crontab设定:
xx xx * * * ausearch -ts today -k audit_check > /var/log/audit_check/audit_check.log
结果audit_check.log的内容反而变成空的(非无输出,会被盖掉),请问为何?
其它尝试(一样手动跑shell可以、但透过crontab就不行):
xx xx * * * sh /root/audit_check.sh
#!/bin/bash
PATH=/usr/sbin:/sbin:/usr/bin:/bin
/usr/sbin/ausearch -ts today -k audit_check > /var/log/audit_check/audit_check.log