| 2009年5月15日
内核版本: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缓冲区大小为止。
关注「黑光技术」,关注大数据+微服务