diff options
author | Luca Boccassi <luca.boccassi@gmail.com> | 2024-10-28 20:58:58 +0100 |
---|---|---|
committer | Luca Boccassi <luca.boccassi@gmail.com> | 2024-11-01 11:46:55 +0100 |
commit | 890bdd1d77f773744612a0da53ce9411f71a13b0 (patch) | |
tree | 278d50877c3e1332f5dfc2a3b12624ecc4de0d4f /man/systemd.exec.xml | |
parent | build(deps): bump actions/checkout from 4.2.0 to 4.2.2 (diff) | |
download | systemd-890bdd1d77f773744612a0da53ce9411f71a13b0.tar.xz systemd-890bdd1d77f773744612a0da53ce9411f71a13b0.zip |
core: add read-only flag for exec directories
When an exec directory is shared between services, this allows one of the
service to be the producer of files, and the other the consumer, without
letting the consumer modify the shared files.
This will be especially useful in conjunction with id-mapped exec directories
so that fully sandboxed services can share directories in one direction, safely.
Diffstat (limited to 'man/systemd.exec.xml')
-rw-r--r-- | man/systemd.exec.xml | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml index f84204d247..d5f85ed85c 100644 --- a/man/systemd.exec.xml +++ b/man/systemd.exec.xml @@ -1561,12 +1561,18 @@ CapabilityBoundingSet=~CAP_B CAP_C</programlisting> configuration or lifetime guarantees, please consider using <citerefentry><refentrytitle>tmpfiles.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> - <para><varname>RuntimeDirectory=</varname>, <varname>StateDirectory=</varname>, <varname>CacheDirectory=</varname> - and <varname>LogsDirectory=</varname> optionally support a second parameter, separated by <literal>:</literal>. - The second parameter will be interpreted as a destination path that will be created as a symlink to the directory. - The symlinks will be created after any <varname>BindPaths=</varname> or <varname>TemporaryFileSystem=</varname> - options have been set up, to make ephemeral symlinking possible. The same source can have multiple symlinks, by - using the same first parameter, but a different second parameter.</para> + <para><varname>RuntimeDirectory=</varname>, <varname>StateDirectory=</varname>, + <varname>CacheDirectory=</varname> and <varname>LogsDirectory=</varname> optionally support two + more parameters, separated by <literal>:</literal>. The second parameter will be interpreted as a + destination path that will be created as a symlink to the directory. The symlinks will be created + after any <varname>BindPaths=</varname> or <varname>TemporaryFileSystem=</varname> options have been + set up, to make ephemeral symlinking possible. The same source can have multiple symlinks, by using + the same first parameter, but a different second parameter. The third parameter is a flags field, + and since v257 can take a value of <constant>ro</constant> to make the directory read only for the + service. This is also supported for <varname>ConfigurationDirectory=</varname>. If multiple symlinks + are set up, the directory will be read only if at least one is configured to be read only. To pass a + flag without a destination symlink, the second parameter can be empty, for example: + <programlisting>ConfigurationDirectory=foo::ro</programlisting></para> <para>The directories defined by these options are always created under the standard paths used by systemd (<filename>/var/</filename>, <filename>/run/</filename>, <filename>/etc/</filename>, …). If the service needs |