audit_add_rule_data(3) Add new audit rule


#include <libaudit.h>

int audit_add_rule_data (int fd, struct audit_rule_data *rule, int flags, int action);


audit_add_rule adds an audit rule previously constructed with audit_rule_fieldpair_data(3) to one of several kernel event filters. The filter is specified by the flags argument. Possible values for flags are:

  • AUDIT_FILTER_USER - Apply rule to userspace generated messages.
  • AUDIT_FILTER_TASK - Apply rule at task creation (not syscall).
  • AUDIT_FILTER_EXIT - Apply rule at syscall exit.
  • AUDIT_FILTER_TYPE - Apply rule at audit_log_start.

The rule's action has two possible values:

  • AUDIT_NEVER - Do not build context if rule matches.
  • AUDIT_ALWAYS - Generate audit record if rule matches.


The return value is <= 0 on error, otherwise it is the netlink sequence id number. This function can have any error that sendto would encounter.


Steve Grubb.