auditctl命令来自英文词组“audit contol”的缩写,其功能是用于管理内核的审计系统。系统管理员可以使用auditctl命令对Linux系统内核的审计系统进行管理,例如执行查看审计系统状态、添加或删除审计规则等等操作。

语法格式:auditctl [参数]

常用参数:

-a向列表尾部添加规则
-A向列表头部添加规则
-b设置缓冲区最大值
-d删除规则
-D清空全部规则
-F创建一个字段
-i忽略读取文件时的错误
-k设置要过滤的关键词
-l显示所有的规则
-p设置审计文件的权限
-R设置从文件中读取规则
-s显示审计系统状态
-S设置规则名称
-w设置要监控的路径

参考示例

查看审计系统的运行状态信息:

[root@linuxcool ~]# auditctl -s 
enabled 1
failure 1
pid 937
rate_limit 0
backlog_limit 8192
lost 0
backlog 0
backlog_wait_time 60000
loginuid_immutable 0 unlocked

查看现有的审计规则:

[root@linuxcool ~]# auditctl -l
No rules

添加一条审计规则,用于记录指定用户(UID:1000)的所有打开系统调用的行为:

[root@linuxcool ~]# auditctl -a entry, always -S open -F uid=1000
Warning - entry rules deprecated, changing to exit rule]
WARNING -32/64 bit syscall mismatch, you should specify an arch

删除一条指定的审计规则:

[root@linuxcool ~]# auditctl -d entry, always -S open -F uid=1000
Warning - entry rules deprecated, changing to exit rule

清空当前系统中已有的全部审计规则:

[root@linuxcool ~]# auditctl -D
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。