AUDITD(8)
๐ AUDITD โ the Linux Audit daemon ๐
okay bestie, so this is the manual page for auditd, from the System Administration Utilities fam. Sit down, grab a strawberry ๐, and let me tell you about the little daemon that writes down EVERYTHING.
โจ NAME โจ
auditd โ The Linux Audit daemon ๐
๐ธ SYNOPSIS ๐ธ
auditd [-f] [-l] [-n] [-s disable|enable|nochange] [-c <config_dir>]
look at her. short, sweet, absolutely slaying. โจ
๐ฆ DESCRIPTION ๐ฆ
auditd is the userspace component to the Linux Auditing System, and honestly? she's the main character. Her whole job is writing audit records to the disk. That's it. That's the gig. ๐
Now, you don't read the logs with her โ that's not her vibe. Viewing the logs is done with the ausearch or aureport utilities. And if you wanna configure the audit system or load rules? That's auditctl's moment, not hers.
Here's the tea on startup โ: during startup, the rules in /etc/audit/audit.rules are read by auditctl and loaded into the kernel. But wait, there's more โ alternately, there's also an augenrules program that reads rules located in /etc/audit/rules.d/ and compiles them into an audit.rules file. Iconic behaviour, no notes.
And the audit daemon herself? She has some configuration options that the admin may wish to customize. Where do they live? In the auditd.conf file. iykyk. ๐
๐ OPTIONS ๐
-fโ leaves the audit daemon in the foreground for debugging. Also, messages go tostderrrather than the audit log. very "watch me work" energy ๐ฅ-lโ allows the audit daemon to follow symlinks for config files. ๐-nโ no fork. This is useful for running off ofinittaborsystemd. ngl she just doesn't feel like forking today ๐-s=ENABLE_STATEโ specifies when starting ifauditdshould change the current value for the kernel enabled flag. Valid values forENABLE_STATEare"disable","enable"or"nochange". The default is toenable(anddisablewhenauditdterminates). Oh and btw, the value of the enabled flag may be changed during the lifetime ofauditdusing'auditctl -e'. โจ-cโ specifies an alternate config file directory. Note that this same directory will be passed to the dispatcher. (default:/etc/audit/) ๐
๐ SIGNALS ๐
SIGHUPโ causesauditdto reconfigure. This means thatauditdre-reads the configuration file. If there are no syntax errors, it will proceed to implement the requested changes. If the reconfigure is successful, aDAEMON_CONFIGevent is recorded in the logs. If not successful, error handling is controlled byspace_left_action,admin_space_left_action,disk_full_action, anddisk_error_actionparameters inauditd.conf. so like... glow up or chaos, no in between ๐SIGTERMโ causedauditdto discontinue processing audit events, write a shutdown audit event, and exit. she said bye for real ๐ซถSIGUSR1โ causesauditdto immediately rotate the logs. It will consult themax_log_file_actionto see if it should keep the logs or not. fresh start energy โจSIGUSR2โ causesauditdto attempt to resume logging and passing events to plugins. This is usually needed after logging has been suspended or the internal queue is overflowed. Either of these conditions depends on the applicable configuration settings. ๐งSIGCONTโ causesauditdto dump a report of internal state to/run/audit/auditd.state. she's journaling, honestly ๐
๐ EXIT CODES ๐
1โ Cannot adjust priority, daemonize, open audit netlink, write the pid file, start up plugins, resolve the machine name, set audit pid, or other initialization tasks. rough start, bestie ๐ญ2โ Invalid or excessive command line arguments ๐4โ The audit daemon doesn't have sufficient privilege. she's not allowed in, respectfully ๐6โ There is an error in the configuration file ๐
๐ FILES ๐
/etc/audit/auditd.confโ configuration file for audit daemon/etc/audit/audit.rulesโ audit rules to be loaded at startup/etc/audit/rules.d/โ directory holding individual sets of rules to be compiled into one file byaugenrules./etc/audit/plugins.d/โ directory holding individual plugin configuration files./etc/audit/audit-stop.rulesโ These rules are loaded when the audit daemon stops./run/audit/auditd.stateโ report about internal state.
๐ NOTES ๐
A boot param of audit=1 should be added to ensure that all processes that run before the audit daemon starts is marked as auditable by the kernel. Not doing that will make a few processes impossible to properly audit. so like... do it. fr fr. โ ๏ธ
The audit daemon can receive audit events from other audit daemons via the audisp-remote plugin. The audit daemon may be linked with tcp_wrappers to control which machines can connect. If this is the case, you can add an entry to hosts.allow and deny. networking but make it secure โจ
๐ SEE ALSO ๐
auditd.conf(5), auditd-plugins(5), ausearch(8), aureport(8), auditctl(8), augenrules(8), audit.rules(7).
go read those too, they're all part of the friend group ๐ซถ
๐ธ AUTHOR ๐ธ
Steve Grubb ๐
and that's the whole page, bestie!! brought to you by the fine people at Red Hat, version date Sept 2021 โ AUDITD(8), System Administration Utilities. periodt. ๐
โจ
๐ฆ where this page comes from
- alpine 3.23: audit-doc 4.1.2-r2 ยท LGPL-2.1-or-later
- alpine 3.24: audit-doc 4.1.2-r6 ยท LGPL-2.1-or-later
- arch rolling: audit 4.2.1-1 ยท GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 43: audit 4.2.1-1.fc43 ยท GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: audit 4.1.4-1.fc44 ยท GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: audit 4.2.1-1.fc44 ยท GPL-2.0-or-later AND LGPL-2.0-or-later
- nixpkgs unstable: audit 4.2.1
- ubuntu resolute: auditd 1:4.1.2-1build1 ยท GPL-2.0-only
- ubuntu resolute: auditd 1:4.1.2-1ubuntu0.1 ยท GPL-2.0-only
- ubuntu stonking: auditd 1:4.1.2-1ubuntu1 ยท GPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms