diff options
author | Ryan Wilson <ryantimwilson@meta.com> | 2024-10-18 20:41:09 +0200 |
---|---|---|
committer | Ryan Wilson <ryantimwilson@meta.com> | 2024-10-28 16:37:36 +0100 |
commit | cd58b5a13537fc89b669ff9232ba2206214c9fa1 (patch) | |
tree | e5dd41b7cf691378b2023deb37042721dba70cfd /man/org.freedesktop.systemd1.xml | |
parent | core: Refactor ProtectControlGroups= to use enum vs bool (diff) | |
download | systemd-cd58b5a13537fc89b669ff9232ba2206214c9fa1.tar.xz systemd-cd58b5a13537fc89b669ff9232ba2206214c9fa1.zip |
cgroup: Add support for ProtectControlGroups= private and strict
This commit adds two settings private and strict to
the ProtectControlGroups= property. Private will unshare the cgroup
namespace and mount a read-write private cgroup2 filesystem at /sys/fs/cgroup.
Strict does the same except the mount is read-only. Since the unit is
running in a cgroup namespace, the new root of /sys/fs/cgroup is the unit's
own cgroup.
We also add a new dbus property ProtectControlGroupsEx which accepts strings
instead of boolean. This will allow users to use private/strict via dbus
and systemd-run in addition to service files.
Note private and strict fall back to no and yes respectively if the kernel
doesn't support cgroup2 or system is not using unified hierarchy.
Fixes: #34634
Diffstat (limited to 'man/org.freedesktop.systemd1.xml')
-rw-r--r-- | man/org.freedesktop.systemd1.xml | 48 |
1 files changed, 33 insertions, 15 deletions
diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml index d86a5d9f32..f484f28a70 100644 --- a/man/org.freedesktop.systemd1.xml +++ b/man/org.freedesktop.systemd1.xml @@ -3251,6 +3251,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b ProtectControlGroups = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") + readonly s ProtectControlGroupsEx = '...'; + @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b PrivateNetwork = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b PrivateUsers = ...; @@ -3868,8 +3870,6 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { <!--property ProtectKernelLogs is not documented!--> - <!--property ProtectControlGroups is not documented!--> - <!--property PrivateNetwork is not documented!--> <!--property PrivateUsers is not documented!--> @@ -4572,6 +4572,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { <variablelist class="dbus-property" generated="True" extra-ref="ProtectControlGroups"/> + <variablelist class="dbus-property" generated="True" extra-ref="ProtectControlGroupsEx"/> + <variablelist class="dbus-property" generated="True" extra-ref="PrivateNetwork"/> <variablelist class="dbus-property" generated="True" extra-ref="PrivateUsers"/> @@ -4858,6 +4860,12 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice { unit file setting <varname>ManagedOOMMemoryPressureDurationSec=</varname> listed in <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>. Note the time unit is expressed in <literal>μs</literal>.</para> + + <para><varname>ProtectControlGroupsEx</varname> implement the destination parameter of the + unit file setting <varname>ProtectControlGroups=</varname> listed in + <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>. + Unlike boolean <varname>ProtectControlGroups</varname>, <varname>ProtectControlGroupsEx</varname> + is a string type.</para> </refsect2> </refsect1> @@ -5415,6 +5423,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b ProtectControlGroups = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") + readonly s ProtectControlGroupsEx = '...'; + @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b PrivateNetwork = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b PrivateUsers = ...; @@ -6044,8 +6054,6 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { <!--property ProtectKernelLogs is not documented!--> - <!--property ProtectControlGroups is not documented!--> - <!--property PrivateNetwork is not documented!--> <!--property PrivateUsers is not documented!--> @@ -6720,6 +6728,8 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket { <variablelist class="dbus-property" generated="True" extra-ref="ProtectControlGroups"/> + <variablelist class="dbus-property" generated="True" extra-ref="ProtectControlGroupsEx"/> + <variablelist class="dbus-property" generated="True" extra-ref="PrivateNetwork"/> <variablelist class="dbus-property" generated="True" extra-ref="PrivateUsers"/> @@ -7416,6 +7426,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b ProtectControlGroups = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") + readonly s ProtectControlGroupsEx = '...'; + @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b PrivateNetwork = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b PrivateUsers = ...; @@ -7971,8 +7983,6 @@ node /org/freedesktop/systemd1/unit/home_2emount { <!--property ProtectKernelLogs is not documented!--> - <!--property ProtectControlGroups is not documented!--> - <!--property PrivateNetwork is not documented!--> <!--property PrivateUsers is not documented!--> @@ -8559,6 +8569,8 @@ node /org/freedesktop/systemd1/unit/home_2emount { <variablelist class="dbus-property" generated="True" extra-ref="ProtectControlGroups"/> + <variablelist class="dbus-property" generated="True" extra-ref="ProtectControlGroupsEx"/> + <variablelist class="dbus-property" generated="True" extra-ref="PrivateNetwork"/> <variablelist class="dbus-property" generated="True" extra-ref="PrivateUsers"/> @@ -9384,6 +9396,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b ProtectControlGroups = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") + readonly s ProtectControlGroupsEx = '...'; + @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b PrivateNetwork = ...; @org.freedesktop.DBus.Property.EmitsChangedSignal("const") readonly b PrivateUsers = ...; @@ -9925,8 +9939,6 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { <!--property ProtectKernelLogs is not documented!--> - <!--property ProtectControlGroups is not documented!--> - <!--property PrivateNetwork is not documented!--> <!--property PrivateUsers is not documented!--> @@ -10499,6 +10511,8 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap { <variablelist class="dbus-property" generated="True" extra-ref="ProtectControlGroups"/> + <variablelist class="dbus-property" generated="True" extra-ref="ProtectControlGroupsEx"/> + <variablelist class="dbus-property" generated="True" extra-ref="PrivateNetwork"/> <variablelist class="dbus-property" generated="True" extra-ref="PrivateUsers"/> @@ -12262,7 +12276,8 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ <varname>ImportCredentialEx</varname>, <varname>ExtraFileDescriptorNames</varname>, <varname>ManagedOOMMemoryPressureDurationUSec</varname>, - <varname>BindLogSockets</varname>, and + <varname>BindLogSockets</varname>, + <varname>ProtectControlGroupsEx</varname>, and <varname>PrivateUsersEx</varname> were added in version 257.</para> </refsect2> <refsect2> @@ -12303,8 +12318,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ <para><varname>PrivateTmpEx</varname>, <varname>ImportCredentialEx</varname>, <varname>BindLogSockets</varname>, - <varname>PrivateUsersEx</varname>, and - <varname>ManagedOOMMemoryPressureDurationUSec</varname> were added in version 257.</para> + <varname>PrivateUsersEx</varname>, + <varname>ManagedOOMMemoryPressureDurationUSec</varname>, and + <varname>ProtectControlGroupsEx</varname> were added in version 257.</para> </refsect2> <refsect2> <title>Mount Unit Objects</title> @@ -12341,8 +12357,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ <para><varname>PrivateTmpEx</varname>, <varname>ImportCredentialEx</varname>, <varname>BindLogSockets</varname>, - <varname>PrivateUsersEx</varname>, and - <varname>ManagedOOMMemoryPressureDurationUSec</varname> were added in version 257.</para> + <varname>PrivateUsersEx</varname>, + <varname>ManagedOOMMemoryPressureDurationUSec</varname>, and + <varname>ProtectControlGroupsEx</varname> were added in version 257.</para> </refsect2> <refsect2> <title>Swap Unit Objects</title> @@ -12379,8 +12396,9 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \ <para><varname>PrivateTmpEx</varname>, <varname>ImportCredentialEx</varname>, <varname>BindLogSockets</varname>, - <varname>PrivateUsersEx</varname>, and - <varname>ManagedOOMMemoryPressureDurationUSec</varname> were added in version 257.</para> + <varname>PrivateUsersEx</varname>, + <varname>ManagedOOMMemoryPressureDurationUSec</varname>, and + <varname>ProtectControlGroupsEx</varname> were added in version 257.</para> </refsect2> <refsect2> <title>Slice Unit Objects</title> |