Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
admin_grundlagen:systemd_service_unit_files [2018/08/16 07:22] ingo_wichmann |
admin_grundlagen:systemd_service_unit_files [2025/03/20 09:20] (aktuell) natureshadow2 [Beispiel für ein Service Unit] Restart=always |
||
---|---|---|---|
Zeile 48: | Zeile 48: | ||
systemctl enable nc | systemctl enable nc | ||
+ | |||
+ | Nach beendeter Verbindung neustarten: | ||
+ | |||
+ | <file txt /etc/systemd/system/nc.service> | ||
+ | … | ||
+ | |||
+ | [Service] | ||
+ | … | ||
+ | Restart=always | ||
+ | </file> | ||
====== Beispiel für ein User Service Unit ====== | ====== Beispiel für ein User Service Unit ====== | ||
Zeile 100: | Zeile 110: | ||
VMDELAY="5" | VMDELAY="5" | ||
VMLOGFILE="/tmp/vmstat.log" | VMLOGFILE="/tmp/vmstat.log" | ||
+ | </file> | ||
+ | |||
+ | ====== Dienste absichern ====== | ||
+ | ((Lennart Poettering schreibt: //There's quite some stuff now we | ||
+ | should enable wherever we can. Specifically ProtectSystem=, | ||
+ | ProtectHome=, ProtectKernelTunables=, ProtectKernelModules=, | ||
+ | ProtectedControlGroups=, PrivateUsers=, PrivateTmp=, PrivateDevices=, | ||
+ | PrivateNetwork=, SystemCallFilter=, RestrictAddressFamilies=, | ||
+ | RestrictNamespaces=, MemoryDenyWriteExecute=, RestrictRealtime=// https://lwn.net/Articles/709764/)) | ||
+ | |||
+ | TODO: noch nicht getestet | ||
+ | |||
+ | <file txt> | ||
+ | ProtectSystem=full | ||
+ | </file> | ||
+ | oder | ||
+ | <file txt> | ||
+ | ProtectSystem=strict | ||
+ | ReadWritePaths=/var/lib/… | ||
+ | ReadOnlyPaths=/var/lib/… | ||
+ | CapabilityBoundingSet=~CAP_SYS_ADMIN | ||
+ | SystemCallFilter=~@mount,~@swap,~@setuid,~@resources,~@reboot,~@privileged,~@obsolete,~@module | ||
+ | </file> | ||
+ | |||
+ | <file txt> | ||
+ | ProtectHome=true | ||
+ | ProtectKernelTunables=true | ||
+ | ProtectKernelModules=true | ||
+ | ProtectedControlGroups=true | ||
+ | PrivateTmp=true | ||
+ | PrivateDevices=true | ||
+ | SystemCallFilter=~@mount,~@swap,~@setuid,~@resources,~@reboot,~@privileged,~@obsolete,~@module,~@keyring,~@cpu-emulation,~@clock,~@chown | ||
+ | RestrictAddressFamilies=AF_UNIX,AF_INET,AF_INET6 | ||
+ | RestrictNamespaces=true | ||
+ | RestrictRealtime=true | ||
+ | #PrivateUsers= | ||
+ | #MemoryDenyWriteExecute= | ||
+ | #IPAddressAllow= | ||
+ | #IPAddressDeny= | ||
+ | #AmbientCapabilitySet= | ||
+ | </file> | ||
+ | |||
+ | Für lokale Dienste (systlog ohne netzwerk, cron (falls keine Jobs auf das Netzwerk zugreifen sollen), ...) zusätzlich: | ||
+ | <file txt> | ||
+ | PrivateNetwork=true | ||
+ | RestrictAddressFamilies=AF_UNIX | ||
+ | </file> | ||
+ | |||
+ | TODO: Für Dienste, die keine Daten dauerhaft speichern (ntpd? unbound?): | ||
+ | <file txt> | ||
+ | DynamicUser=yes | ||
+ | User=unbound | ||
+ | Group=unbound | ||
</file> | </file> |