我们现有的auditd规则记录了除UID 501之外的所有命令,并且运行良好:
% cat /etc/audit/audit.rules
-D
-b 320
-a exit,always -F arch=b64 -S execve -F uid!=501
-a exit,always -F arch=b32 -S execve -F uid!=501
它们会产生如下数据:
type=SYSCALL msg=audit(1493677870.320:573818): arch=c000003e syscall=59
success=yes exit=0 a0=18e0d80 a1=18e9ac0 a2=18df340 a3=20 items=2
ppid=29928 pid=29943 auid=4294967295 uid=501 gid=103 euid=501 suid=501
fsuid=501 egid=103 sgid=103 fsgid=103 tty=(none) ses=4294967295
comm="bb" exe="xxxx" key=(null)
但是,我们希望忽略记录的没有TTY的命令,如上面所示:“tty=(无)”选择仅记录有效TTY的SYSCALL,例如“tty= pts 1”
在阅读了数小时的auditd文档之后,我已经用尽了所有的方法来完成这个任务。虽然有uid,euid等的钩子,但似乎没有tty的钩子,如果是这样的话,当“(none)”只是日志代码中NULL的文本表示时,你如何表示一个空tty呢?
提前感谢!:)
1条答案
按热度按时间icnyk63a1#
我用Python的魔法石来砍木头。