审计子例程

用途

启用和禁用系统审计。

标准 C 库 (libc.a)

语法

#include <sys/audit.h>
int audit ( Command Argument)
int Command;
int Argument;

描述

审计子程序可启用或禁用系统审计。

启用审计后,将为与安全性相关的事件创建审计记录。 这些记录可通过auditbin子程序或 /dev/audit特殊文件接口收集。

参数

描述
命令 sys/audit.h文件中定义,可以是以下值之一:
审计查询
返回显示审计子系统状态的掩码。 掩码是AUDIT_ONAUDIT_OFFAUDIT_PANICAUDIT_FULLPATH标志的逻辑 ORing。
AUDIT_ON
启用审计。 如果已启用审计功能,则只会更改故障模式行为。 论据参数指定发生故障时的恢复行为,其值可以是 0 或 "审计波兰人或 "AUDIT_FULLPATH
注意:如果指定了AUDIT_PANIC,则必须在调用审计子程序之前启用二进制模式审计。
AUDIT_OFF
如果启用了审计,那么禁用审计系统。 如果审计系统被禁用,则审计子程序不会执行任何操作。 参数将被忽略。
审计重置
禁用审计系统并重置审计系统。 如果已禁用审计,那么仅重置系统配置。 重置审计配置涉及清除审计事件和已审计对象表,以及终止 bin 审计和流审计。
审计事件阈值
审计事件记录将被缓冲,直到总共保存了参数记录,此时审计事件记录将被刷新到磁盘。 参数值为 0 则禁用此功能。
审计字节阈值
审计事件数据将被缓冲,直到总共保存了Argument 字节的数据,此时审计事件数据将被刷新到磁盘。 参数值为 0 则禁用此功能。
argument 指定 bin 写入失败时的行为(针对AUDIT_ON),或指定审计事件缓冲区的大小(针对AUDIT_EVENT_THRESHOLD AUDIT_BYTE_THRESHOLD)。 对于AUDIT_RESETAUDIT_QUERY参数值为 WPAR ID。 对于所有其他命令,"参数"的值将被忽略。 有效值为:
审计_巴拿马
如果无法将审计记录写入货柜,那么操作系统会突然停止。
注意:如果指定了AUDIT_PANIC,则必须在调用审计子程序之前启用二进制模式审计。
AUDIT_FULLPATH
操作系统开始捕获 FILE_Open、FILE_Read、FILE_Write 审计事件的完整路径名。
BufferSize
缓冲的字节数或审计事件记录数。 该参数仅对命令 "审计字节阈值和 "审计事件阈值有效。 值为 0 时,将禁用字节缓冲(适用于AUDIT_BYTE_THRESHOLD)或事件缓冲(适用于AUDIT_EVENT_THRESHOLD)。

返回值

对于 "指挥值为 "审计查询的情况,"审计子程序在成功完成后会返回一个掩码,表明审计子系统的状态。 掩码是AUDIT_ONAUDIT_OFFAUDIT_PANICAUDIT_NO_PANICAUDIT_FULLPATH标志的逻辑 ORing。 对于任何其他命令值,审计子程序在成功完成后返回 0。

如果审计子程序失败,则返回值为-1,并设置errno全局变量来指示错误。

错误代码

如果以下情况之一为真,则审计子程序失败:

描述
EINVAL 命令参数不是 AUDIT_ON AUDIT_OFF AUDIT_RESETAUDIT_QUERY
EINVAL 命令参数为AUDIT_ON参数指定的值不是AUDIT_PANICAUDIT_FULLPATH
EPERM 调用进程没有 root 用户权限。

文件

描述
dev/audit 指定从中读取审计记录的审计伪设备。