内核版本:2.6.30-rc5
以下是用”demsg|tail“命令抓取的一段信息:
[ 8260.568539] type=1804 audit(1242187887.213:4345): integrity: pid=13112 uid=1000 auid=4294967295 ses=4294967295 op=invalid_pcr cause=open_writers comm=”cc1″ name=”prefetch.h” dev=sda4 ino=2968641 res=0
分析如下:
type=1804:审计类型号,在审计中将审计分了类别,1800~1899 kernel integrity events( 整数标签和相关事件)。
该分类在include/linux/audit.h定义并且附有详细的说明。
audit(1242187887.213:4345):
integrity:
pid=13112 uid=1000 :进程PID和用户UID
auid=4294967295 :审计会话ID
ses=4294967295 :会话ID
op=invalid_pcr :操作类型
cause=open_writers :原由
comm=”cc1″ :执行进程的程序名称
name=”prefetch.h” :所操作的文件
dev=sda4 :所在硬盘设备
ino=2968641 :文件系统中节点号
res=0
另外audit还可以记录的数据项还有:
ssid:
obj:
opid=%d oauid=%d ouid=%d oses=%d
subj=%s
list=%d res=%d
key=
name=
netif:网络接口
src=
dst=
dst_prefixlen
subj
。。。。
这些数据的记录都是由audit_log_format(ab,fmt….)这个函数来完成的。
函数原型为:void audit_log_format(struct audit_buffer *ab, const char *fmt, …)
这个函数中起主要作用的是这个函数:audit_log_vformat(ab, fmt, args);
这个函数是将审计信息格式化保存到audit_buffer中,如果空间不够它会继续申请。
申请到printk缓冲区大小为止。
