C 自定义FreeBSD中事件审核的输出

C 自定义FreeBSD中事件审核的输出,c,unix,kernel,freebsd,C,Unix,Kernel,Freebsd,我想要自定义FreeBSD中事件审计的输出。我阅读了审计内核和守护程序代码,最后在/usr/src/contrib/openbsm/libauditd/auditd_lib.c中找到了auditd_gen_record函数,我认为该函数生成事件审计记录 因为我想确保这个函数是我想要的函数,所以我编写了简单的函数,然后在auditd\u gen\u record函数中调用它,但由于某种原因,我编写的示例函数无法工作 示例函数是: void test_audit(void) { int

我想要自定义FreeBSD中事件审计的输出。我阅读了审计内核和守护程序代码,最后在
/usr/src/contrib/openbsm/libauditd/auditd_lib.c
中找到了
auditd_gen_record
函数,我认为该函数生成事件审计记录

因为我想确保这个函数是我想要的函数,所以我编写了简单的函数,然后在
auditd\u gen\u record
函数中调用它,但由于某种原因,我编写的示例函数无法工作

示例函数是:

void test_audit(void) {
    int     fd;
    int     flags   = O_WRONLY | O_APPEND;
    char *  path    = "/root/TestOutputData";
    char *  msg     = "audit gen rec\n";

    fd = open(path, flags);
    write(fd, msg, strlen(msg));
    close(fd);
}

如果你认为我在错误的位置或功能,或者我应该操纵其他东西,请告诉我。如何操作FreeBSD事件审核以创建自定义日志文件?谢谢

它以什么方式不起作用?您还可以显示上下文的
auditd\u gen\u record()
吗?我知道audit\u gen\u record()调用,但当我添加示例函数时,我希望该函数调用,然后向TestOutputData文件写入一些内容。正如我所说的,我想要Summize审计日志文件,如果您看到,您发现了au_close函数,这个函数接受审计描述符并提交事件,我想要Summize事件记录,然后再提交到日志文件。