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

发表回复