Updated: 30 September 2026 · Applies to: audit 3.1 and 4.0 on AlmaLinux and Rocky Linux 9 and 10, RHEL 9 and 10, Ubuntu 24.04 and 26.04, Debian 13

You add rules to a file in /etc/audit/rules.d/, but auditctl -l still shows No rules or the old list. The rules in that folder are not read directly by the kernel: augenrules combines them into /etc/audit/audit.rules, and only that file is loaded. Work through these checks.

1. Load the rules

augenrules --load
auditctl -l

augenrules --load builds /etc/audit/audit.rules from all *.rules files in /etc/audit/rules.d/ (in name order) and loads the result. Restarting auditd also does this: service auditd restart on AlmaLinux, Rocky Linux and RHEL (auditd refuses systemctl restart there), or systemctl restart auditd on Ubuntu and Debian.

2. Check for errors in the rules

augenrules --check
auditctl -R /etc/audit/audit.rules

A rule with an error stops the loading at that line, so everything after it is missing. Common mistakes are a system call that does not exist on the architecture, a watched path that does not exist, or a missing -F arch=b64. Files that do not end in .rules are ignored.

3. Are the rules locked?

auditctl -s | grep enabled

enabled 2 means the configuration is immutable: a rules file ends with -e 2 (for example a file named 99-finalize.rules), and no rule can be changed until the next reboot. That is intended on hardened servers. Reboot to load the new rules.

4. Is auditd running?

systemctl status auditd
auditctl -s

enabled 0 means auditing is switched off, for example with audit=0 on the kernel command line. Check with cat /proc/cmdline.

5. Test the rule

Trigger an event that your rule should catch and search for its key, for example for a rule with -k time-change:

ausearch -k time-change -i --start recent

For more examples, see how to monitor system time changes with auditd and how to use auditd to monitor a specific system call.

Official documentation: augenrules manual and audit.rules manual.

Related services

KVM VPS hosting

NVMe SSD and full root access, with Free Basic Managed Support.

Unmanaged dedicated servers

full root access and free IPMI KVM, with Free Basic Managed Support.

Managed dedicated servers

our engineers look after the server for you, from $135 a month.

Was this answer helpful?

Still stuck? Open a ticket