2详细分析
2.1模块功能描述
本模块包含以下几个子系统:
(1) 审计消息的生成和发送子系统;
(2) 审计消息过滤子系统;
(3) 审计系统初始化子系统;
(4) 进程审计子系统;
(5) 文件系统审计子系统。
第(1)个子系统的支撑函数是audit_log、audit_log_start、audit_log_format和audit_log_end,该部分的这几个函数,作为内核函数中的审计API在内核其它部分中广泛地被调用。
函数功能说明:
audit_log:产生一条审计记录。
Audit_log_start:申请审计缓冲区,如果任务当前在系统调用中,系统调用被标识为可审计的,并在系统调用退出时产生一条审计记录。
audit_log_format:格式化一个消息并放入审计缓冲区。
audit_log_end:将格式化好的netlink套接字缓冲区中的审计记录数据发送给用户空间的后台进程,如果审计后台进程存在,使用 netlink机制传输数据,由审计后台将套接字缓冲区中的审计记录数据写入审计文件audit.log中;如果审计后台不存在,使用 printk记录数据,然后由日志后台进程将数据写入到日志文件中。
第(2)个子系统的支撑函数是:audit_filter_user、audit_filter_type、audit_filter_user_rules、audit_receive_filter、audit_add_rule、audit_list_rules、audit_find_rule和audit_del_rule。
函数