The auditon() function performs various audit subsystem
control operations. The cmd argument designates the particular audit
control command. The data argument is a pointer to command-specific
data. The length argument is the length in bytes of the
command-specific data.
The following commands are supported:
A_GETCOND
Return the system audit condition in the integer pointed
to by
data. The following values can be returned:
AUC_AUDITING
Audit daemon is active.
AUC_INIT_AUDIT
Audit is ready but auditd has not run.
AUC_NOAUDIT
Audit daemon is not active.
AUC_NOSPACE
Auditing has blocked due to lack of space in audit
partition.
A_SETCOND
Set the system's audit on/off condition to the value in
the integer pointed to by
data. The following audit states can be set:
AUC_AUDITING
Turns on audit record generation.
AUC_NOAUDIT
Turns off audit record generation.
A_GETCLASS
Return the event to class mapping for the designated
audit event. The data argument points to the au_evclass_map
structure containing the event number. The preselection class mask is returned
in the same structure.
A_SETCLASS
Set the event class preselection mask for the designated
audit event. The data argument points to the au_evclass_map
structure containing the event number and class mask.
A_GETKMASK
Return the kernel preselection mask in the au_mask
structure pointed to by data. This is the mask used to preselect
non-attributable audit events.
A_SETKMASK
Set the kernel preselection mask. The data
argument points to the au_mask structure containing the class mask.
This is the mask used to preselect non-attributable audit events.
A_GETPINFO
Return the audit ID, preselection mask, terminal ID and
audit session ID of the specified process in the
auditpinfo structure
pointed to by
data.
Note that A_GETPINFO can fail if the terminal ID contains a
network address longer than 32 bits. In this case, the
A_GETPINFO_ADDR command should be used.
A_GETPINFO_ADDR
Returns the audit ID, preselection mask, terminal ID and
audit session ID of the specified process in the auditpinfo_addr
structure pointed to by data.
A_SETPMASK
Set the preselection mask of the specified process. The
data argument points to the auditpinfo structure containing the
process ID and the preselection mask. The other fields of the structure are
ignored and should be set to NULL.
A_SETUMASK
Set the preselection mask for all processes with the
specified audit ID. The data argument points to the auditinfo
structure containing the audit ID and the preselection mask. The other fields
of the structure are ignored and should be set to NULL.
A_SETSMASK
Set the preselection mask for all processes with the
specified audit session ID. The data argument points to the
auditinfo structure containing the audit session ID and the
preselection mask. The other fields of the structure are ignored and should be
set to NULL.
A_GETQCTRL
Return the kernel audit queue control parameters. These
control the high and low water marks of the number of audit records allowed in
the audit queue. The high water mark is the maximum allowed number of
undelivered audit records. The low water mark determines when threads blocked
on the queue are wakened. Another parameter controls the size of the data
buffer used to write data to the audit trail. There is also a parameter that
specifies a maximum delay before data is attempted to be written to the audit
trail. The audit queue parameters are returned in the au_qctrl
structure pointed to by data.
A_SETQCTRL
Set the kernel audit queue control parameters as
described above in the
A_GETQCTRL command. The
data argument
points to the
au_qctrl structure containing the audit queue control
parameters. The default and maximum values 'A/B' for the audit queue control
parameters are:
high water
100/10000 (audit records)
low water
10/1024 (audit records)
output buffer size
1024/1048576 (bytes)
delay
20/20000 (hundredths second)
A_GETCWD
Return the current working directory as kept by the audit
subsystem. This is a path anchored on the real root, rather than on the active
root. The data argument points to a buffer into which the path is
copied. The length argument is the length of the buffer.
A_GETCAR
Return the current active root as kept by the audit
subsystem. This path can be used to anchor an absolute path for a path token
generated by an application. The data argument points to a buffer into
which the path is copied. The length argument is the length of the
buffer.
A_GETSTAT
Return the system audit statistics in the
audit_stat structure pointed to by data.
A_SETSTAT
Reset system audit statistics values. The kernel
statistics value is reset if the corresponding field in the statistics
structure pointed to by the data argument is CLEAR_VAL.
Otherwise, the value is not changed.
A_GETPOLICY
Return the audit policy flags in the integer pointed to
by data.
A_SETPOLICY
Set the audit policy flags to the values in the integer
pointed to by
data. The following policy flags are recognized:
AUDIT_CNT
Do not suspend processes when audit storage is full or
inaccessible. The default action is to suspend processes until storage becomes
available.
AUDIT_AHLT
Halt the machine when a non-attributable audit record can
not be delivered. The default action is to count the number of events that
could not be recorded.
AUDIT_ARGV
Include in the audit record the argument list for a
member of the
exec(2) family of functions. The default action is not to
include this information.
AUDIT_ARGE
Include the environment variables for the
execv(2)
function in the audit record. The default action is not to include this
information.
AUDIT_SEQ
Add a sequence token to each audit record. The
default action is not to include it.
AUDIT_TRAIL
Append a trailer token to each audit record. The
default action is not to include it.
AUDIT_GROUP
Include the supplementary groups list in audit records.
The default action is not to include it.
AUDIT_PATH
Include secondary paths in audit records. Examples of
secondary paths are dynamically loaded shared library modules and the command
shell path for executable scripts. The default action is to include only the
primary path from the system call.
AUDIT_WINDATA_DOWN
Include in an audit record any downgraded data moved
between windows. This policy is available only if the system is configured
with Trusted Extensions. By default, this information is not included.
AUDIT_WINDATA_UP
Include in an audit record any upgraded data moved
between windows. This policy is available only if the system is configured
with Trusted Extensions. By default, this information is not included.
AUDIT_PERZONE
Enable auditing for each local zone. If not set, audit
records from all zones are collected in a single log accessible in the global
zone and certain
auditconfig(8) operations are disallowed. This policy
can be set only from the global zone.
AUDIT_ZONENAME
Generate a zone ID token with each audit record.