summaryrefslogtreecommitdiffstats
path: root/man/systemd.exec.xml
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2024-10-28 20:58:58 +0100
committerLuca Boccassi <luca.boccassi@gmail.com>2024-11-01 11:46:55 +0100
commit890bdd1d77f773744612a0da53ce9411f71a13b0 (patch)
tree278d50877c3e1332f5dfc2a3b12624ecc4de0d4f /man/systemd.exec.xml
parentbuild(deps): bump actions/checkout from 4.2.0 to 4.2.2 (diff)
downloadsystemd-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.xml18
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