diff --git a/man/journald.conf.xml b/man/journald.conf.xml
index 24cee4c8b2f..50c33e47929 100644
--- a/man/journald.conf.xml
+++ b/man/journald.conf.xml
@@ -423,13 +423,18 @@
Audit=
- Takes a boolean value. If enabled systemd-journal will turn on
+ Takes a boolean value. If enabled systemd-journald will turn on
kernel auditing on start-up. If disabled it will turn it off. If unset it will neither enable nor
- disable it, leaving the previous state unchanged. Note that this option does not control whether
- systemd-journald collects generated audit records, it just controls whether it
- tells the kernel to generate them. This means if another tool turns on auditing even if
- systemd-journald left it off, it will still collect the generated
- messages. Defaults to on.
+ disable it, leaving the previous state unchanged. This means if another tool turns on auditing even
+ if systemd-journald left it off, it will still collect the generated
+ messages. Defaults to on.
+
+ Note that this option does not control whether systemd-journald collects
+ generated audit records, it just controls whether it tells the kernel to generate them. If you need
+ to prevent systemd-journald from collecting the generated messages, the socket
+ unit systemd-journald-audit.socket can be disabled and in this case this setting
+ is without effect.
+
diff --git a/man/systemd-journald.service.xml b/man/systemd-journald.service.xml
index 8fa864473d5..6b0fb3137c6 100644
--- a/man/systemd-journald.service.xml
+++ b/man/systemd-journald.service.xml
@@ -332,7 +332,9 @@ systemd-tmpfiles --create --prefix /var/log/journal
Sockets and other file node paths that systemd-journald will
listen on and are visible in the file system. In addition to these,
systemd-journald can listen for audit events using netlink7.
+ project='man-pages'>netlink7,
+ depending on whether systemd-journald-audit.socket is enabled or
+ not.
diff --git a/presets/90-systemd.preset b/presets/90-systemd.preset
index 25936d8f57e..2b8db9d476f 100644
--- a/presets/90-systemd.preset
+++ b/presets/90-systemd.preset
@@ -24,6 +24,7 @@ enable systemd-homed.service
enable systemd-userdbd.socket
enable systemd-pstore.service
enable systemd-boot-update.service
+enable systemd-journald-audit.socket
disable console-getty.service
disable debug-shell.service
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index b59f42c4b8d..c1fc5a8da92 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -2504,10 +2504,13 @@ int server_init(Server *s, const char *namespace) {
/* Unless we got *some* sockets and not audit, open audit socket */
if (s->audit_fd >= 0 || no_sockets) {
+ log_info("Collecting audit messages is enabled.");
+
r = server_open_audit(s);
if (r < 0)
return r;
- }
+ } else
+ log_info("Collecting audit messages is disabled.");
r = server_open_varlink(s, varlink_socket, varlink_fd);
if (r < 0)
diff --git a/units/meson.build b/units/meson.build
index 79e2935a506..69197f0c47c 100644
--- a/units/meson.build
+++ b/units/meson.build
@@ -123,8 +123,7 @@ units = [
'sysinit.target.wants/'],
['systemd-journal-gatewayd.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'],
['systemd-journal-remote.socket', 'ENABLE_REMOTE HAVE_MICROHTTPD'],
- ['systemd-journald-audit.socket', '',
- 'sockets.target.wants/'],
+ ['systemd-journald-audit.socket', ''],
['systemd-journald-dev-log.socket', '',
'sockets.target.wants/'],
['systemd-journald.socket', '',
diff --git a/units/systemd-journald-audit.socket b/units/systemd-journald-audit.socket
index f0c0aebc865..cf9b6e8b84d 100644
--- a/units/systemd-journald-audit.socket
+++ b/units/systemd-journald-audit.socket
@@ -20,3 +20,7 @@ Service=systemd-journald.service
ReceiveBuffer=128M
ListenNetlink=audit 1
PassCredentials=yes
+
+[Install]
+WantedBy=sockets.target
+WantedBy=systemd-journald.service
diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
index 38ba3e28563..ece872c7709 100644
--- a/units/systemd-journald.service.in
+++ b/units/systemd-journald.service.in
@@ -38,7 +38,10 @@ RestrictRealtime=yes
RestrictSUIDSGID=yes
RuntimeDirectory=systemd/journal
RuntimeDirectoryPreserve=yes
-Sockets=systemd-journald.socket systemd-journald-dev-log.socket systemd-journald-audit.socket
+# Audit socket is not listed here because this unit can be turned off. However
+# the link between the socket and the service units is still created thanks to
+# the 'Service=' setting specified in the socket unit.
+Sockets=systemd-journald.socket systemd-journald-dev-log.socket
StandardOutput=null
SystemCallArchitectures=native
SystemCallErrorNumber=EPERM