The audit daemon, auditd, controls the generation and location of audit trail files and the generation of syslog messages based on the definitions in audit_control(4). If auditing is enabled, auditd reads the audit_control file to do the following:
reads the path to a library module for realtime conversion of audit data into syslog messages;
reads other parameters specific to the selected plugin or plugins;
obtains a list of directories into which audit files can be written;
obtains the percentage limit for how much space to reserve on each filesystem before changing to the next directory.
audit(1M) is used to control auditd. It can cause auditd to:
to enable auditd if not enabled;
close the current audit file and open a new one;
close the current audit file, re-read /etc/security/audit_control and open a new audit file;
close the audit trail and terminate auditing.
The audit daemon invokes the program audit_warn(1M) under the following conditions with the indicated options:
The file system upon which pathname resides has exceeded the minimum free space limit defined in audit_control(4). A new audit trail has been opened on another file system.
All available file systems have been filled beyond the minimum free space limit. A new audit trail has been opened anyway.
The file system upon which pathname resides has filled or for some reason become unavailable. A new audit trail has been opened on another file system.
All available file systems have been filled or for some reason become unavailable. The audit daemon will repeat this call to audit_warn at intervals of at least twenty seconds until space becomes available. count is the number of times that audit_warn has been called since the problem arose.
There is already an audit daemon running.
The file /etc/security/audit/audit_tmp exists, indicating a fatal error.
The internal system audit condition is AUC_FCHDONE. Auditing cannot be started without rebooting the system.
The internal system audit condition has been changed to not be AUC_AUDITING by someone other than the audit daemon. This causes the audit daemon to exit.
An error occurred during the orderly shutdown of the auditing system.
There is a problem getting the directory list from /etc/security/audit/audit_control.
The audit daemon will hang in a sleep loop until this file is fixed.
See attributes(5) for descriptions of the following attributes:
See the section on Solaris Auditing in System Administration Guide: Security Services.
If the audit policy perzone is set, auditd runs in each zone, starting automatically when the local zone boots. If a zone is running when the perzone policy is set, auditing must be started manually in local zones. It is not necessary to reboot the system or the local zone to start auditing in a local zone. auditd can be started with “/usr/sbin/audit -s” and will start automatically with future boots of the zone.
When auditd runs in a local zone, the configuration is taken from the local zone's /etc/security directory's files: audit_control, audit_class, audit_user, and audit_event.
Configuration changes do not affect audit sessions that are currently running, as the changes do not modify a process's preselection mask. To change the preselection mask on a running process, use the –setpmask option of the auditconfig command (see auditconfig(1M)). If the user logs out and logs back in, the new configuration changes will be reflected in the next audit session.