我想实时跟踪我的审计日志,以便观察事件,并通过 praudit 管道传输,使其易于阅读。以下所有命令均以 root 身份运行。
当我运行时tail -f /var/audit/current | praudit
,它只打印最后 5 行并立即退出。而tail -f /var/audit/current | cat
等待并打印出写入的原始审计日志。praudit
和之间的本质区别是什么cat
?它们都声称从 stdin 读取,它们似乎都这样做了,只是在praudit
没有等待 EOF 的情况下放弃了?或者其他什么?
很想知道为什么会出现这种情况,以及是否有办法以某种方式获得我想要的行为,最好不必修改 praudit...
我使用的是 macOS 10.14.3
答案1
cat
无需使用额外的命令(含义和praudit
),您便可实现所需的功能。
只需发出tail -f /var/audit/current
就会给您最后 10 行,并等待进一步的输出。
编辑1: 好的,我明白你为什么要使用 praudit。我自己不熟悉这个命令。
编辑2:
尝试这个:
sudo praudit /dev/auditpipe
审计管道是设备文件系统中的克隆伪设备,允许应用程序利用实时审计记录流。这主要是入侵检测和系统监控应用程序的作者感兴趣的。然而,对于管理员来说,审计管道设备是一种方便的实时监控方式,不会遇到审计跟踪文件所有权或日志轮换中断事件流的问题。