]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
units: add unit files for instantiated journal daemons
authorLennart Poettering <lennart@poettering.net>
Mon, 25 Nov 2019 14:37:35 +0000 (15:37 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 31 Jan 2020 14:01:30 +0000 (15:01 +0100)
units/meson.build
units/systemd-journald@.service.in [new file with mode: 0644]
units/systemd-journald@.socket [new file with mode: 0644]

index d99cafb39fcd4dd33bbbfa49dbb6451e04a1c494..c0b69566d14131bc81f6b80bd31169844ef52a79 100644 (file)
@@ -114,6 +114,7 @@ units = [
         ['systemd-kexec.service',               ''],
         ['systemd-machine-id-commit.service',   '',
          'sysinit.target.wants/'],
+        ['systemd-journald@.socket',            ''],
         ['systemd-networkd.socket',             'ENABLE_NETWORKD'],
         ['systemd-poweroff.service',            ''],
         ['systemd-reboot.service',              ''],
@@ -180,6 +181,7 @@ in_units = [
         ['systemd-journal-upload.service',       'ENABLE_REMOTE HAVE_LIBCURL'],
         ['systemd-journald.service',             '',
          'sysinit.target.wants/'],
+        ['systemd-journald@.service',            ''],
         ['systemd-localed.service',              'ENABLE_LOCALED',
          'dbus-org.freedesktop.locale1.service'],
         ['systemd-logind.service',               'ENABLE_LOGIND',
diff --git a/units/systemd-journald@.service.in b/units/systemd-journald@.service.in
new file mode 100644 (file)
index 0000000..e727492
--- /dev/null
@@ -0,0 +1,46 @@
+#  SPDX-License-Identifier: LGPL-2.1+
+#
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+[Unit]
+Description=Journal Service for Namespace %i
+Documentation=man:systemd-journald.service(8) man:journald.conf(5)
+Requires=systemd-journald@%i.socket
+After=systemd-journald@%i.socket
+
+[Service]
+CapabilityBoundingSet=CAP_SYS_ADMIN CAP_DAC_OVERRIDE CAP_SYS_PTRACE CAP_CHOWN CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_MAC_OVERRIDE
+DevicePolicy=closed
+ExecStart=@rootlibexecdir@/systemd-journald %i
+FileDescriptorStoreMax=4224
+Group=systemd-journal
+IPAddressDeny=any
+LockPersonality=yes
+LogsDirectory=journal/%m.%i
+LogsDirectoryMode=02755
+MemoryDenyWriteExecute=yes
+NoNewPrivileges=yes
+Restart=always
+RestartSec=0
+RestrictAddressFamilies=AF_UNIX AF_NETLINK
+RestrictNamespaces=yes
+RestrictRealtime=yes
+RestrictSUIDSGID=yes
+RuntimeDirectory=systemd/journal.%i
+RuntimeDirectoryPreserve=yes
+Sockets=systemd-journald@%i.socket
+StandardOutput=null
+SystemCallArchitectures=native
+SystemCallErrorNumber=EPERM
+SystemCallFilter=@system-service
+Type=notify
+@SERVICE_WATCHDOG@
+
+# If there are many split up journal files we need a lot of fds to access them
+# all in parallel.
+LimitNOFILE=@HIGH_RLIMIT_NOFILE@
diff --git a/units/systemd-journald@.socket b/units/systemd-journald@.socket
new file mode 100644 (file)
index 0000000..3badd78
--- /dev/null
@@ -0,0 +1,24 @@
+#  SPDX-License-Identifier: LGPL-2.1+
+#
+#  This file is part of systemd.
+#
+#  systemd is free software; you can redistribute it and/or modify it
+#  under the terms of the GNU Lesser General Public License as published by
+#  the Free Software Foundation; either version 2.1 of the License, or
+#  (at your option) any later version.
+
+[Unit]
+Description=Journal Socket for Namespace %i
+Documentation=man:systemd-journald.service(8) man:journald.conf(5)
+StopWhenUnneeded=yes
+
+[Socket]
+Service=systemd-journald@%i.service
+ListenStream=/run/systemd/journal.%i/stdout
+ListenDatagram=/run/systemd/journal.%i/socket
+ListenDatagram=/run/systemd/journal.%i/dev-log
+SocketMode=0666
+PassCredentials=yes
+PassSecurity=yes
+ReceiveBuffer=8M
+SendBuffer=8M