summaryrefslogtreecommitdiffstats
path: root/upstream/fedora-rawhide/man5/systemd.exec.5
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/fedora-rawhide/man5/systemd.exec.5')
-rw-r--r--upstream/fedora-rawhide/man5/systemd.exec.5112
1 files changed, 75 insertions, 37 deletions
diff --git a/upstream/fedora-rawhide/man5/systemd.exec.5 b/upstream/fedora-rawhide/man5/systemd.exec.5
index 3e30d6d5..c08fb7a7 100644
--- a/upstream/fedora-rawhide/man5/systemd.exec.5
+++ b/upstream/fedora-rawhide/man5/systemd.exec.5
@@ -1,5 +1,5 @@
'\" t
-.TH "SYSTEMD\&.EXEC" "5" "" "systemd 255" "systemd.exec"
+.TH "SYSTEMD\&.EXEC" "5" "" "systemd 256~rc3" "systemd.exec"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -171,10 +171,10 @@ is relative to the root of the system running the service manager\&. Note that s
\fIRootDirectory=\fR
.RS 4
Takes a directory path relative to the host\*(Aqs root directory (i\&.e\&. the root of the system running the service manager)\&. Sets the root directory for executed processes, with the
+\fBpivot_root\fR(2)
+or
\fBchroot\fR(2)
-system call\&. If this is used, it must be ensured that the process binary and all its auxiliary files are available in the
-\fBchroot()\fR
-jail\&. Note that setting this parameter might result in additional dependencies to be added to the unit (see above)\&.
+system call\&. If this is used, it must be ensured that the process binary and all its auxiliary files are available in the new root\&. Note that setting this parameter might result in additional dependencies to be added to the unit (see above)\&.
.sp
The
\fIMountAPIVFS=\fR
@@ -211,6 +211,12 @@ BindReadOnlyPaths=/dev/log /run/systemd/journal/socket /run/systemd/journal/stdo
.RE
.\}
+In place of the directory path a
+"\&.v/"
+versioned directory may be specified, see
+\fBsystemd.v\fR(7)
+for details\&.
+.sp
This option is only available for system services, or for services running in per\-user instances of the service manager in which case
\fIPrivateUsers=\fR
is implicitly enabled (requires unprivileged user namespaces support to be enabled in the kernel via the
@@ -268,6 +274,12 @@ file will be made available for the service (read\-only) as
/run/host/os\-release\&. It will be updated automatically on soft reboot (see:
\fBsystemd-soft-reboot.service\fR(8)), in case the service is configured to survive it\&.
.sp
+In place of the image path a
+"\&.v/"
+versioned directory may be specified, see
+\fBsystemd.v\fR(7)
+for details\&.
+.sp
This option is only available for system services and is not supported for services running in per\-user instances of the service manager\&.
.sp
Added in version 233\&.
@@ -549,6 +561,10 @@ creates regular writable bind mounts (unless the source file system mount is alr
\fIBindReadOnlyPaths=\fR
creates read\-only bind mounts\&. These settings may be used more than once, each usage appends to the unit\*(Aqs list of bind mounts\&. If the empty string is assigned to either of these two options the entire list of bind mounts defined prior to this is reset\&. Note that in this case both read\-only and regular bind mounts are reset, regardless which of the two settings is used\&.
.sp
+Using this option implies that a mount namespace is allocated for the unit, i\&.e\&. it implies the effect of
+\fIPrivateMounts=\fR
+(see below)\&.
+.sp
This option is particularly useful when
\fIRootDirectory=\fR/\fIRootImage=\fR
is used\&. In this case the source path refers to a path on the host file system, while the destination path refers to a path below the root directory of the unit\&.
@@ -696,6 +712,12 @@ or
below, as it may change the setting of
\fIDevicePolicy=\fR\&.
.sp
+In place of the image path a
+"\&.v/"
+versioned directory may be specified, see
+\fBsystemd.v\fR(7)
+for details\&.
+.sp
This option is only available for system services and is not supported for services running in per\-user instances of the service manager\&.
.sp
Added in version 248\&.
@@ -733,6 +755,12 @@ or the host\&. See:
.sp
Note that usage from user units requires overlayfs support in unprivileged user namespaces, which was first introduced in kernel v5\&.11\&.
.sp
+In place of the directory path a
+"\&.v/"
+versioned directory may be specified, see
+\fBsystemd.v\fR(7)
+for details\&.
+.sp
This option is only available for system services, or for services running in per\-user instances of the service manager in which case
\fIPrivateUsers=\fR
is implicitly enabled (requires unprivileged user namespaces support to be enabled in the kernel via the
@@ -837,17 +865,22 @@ Sets the supplementary Unix groups the processes are executed as\&. This takes a
.PP
\fISetLoginEnvironment=\fR
.RS 4
-Takes a boolean parameter that controls whether to set
+Takes a boolean parameter that controls whether to set the
\fI$HOME\fR,
\fI$LOGNAME\fR, and
\fI$SHELL\fR
-environment variables\&. If unset, this is controlled by whether
-\fIUser=\fR
-is set\&. If true, they will always be set for system services, i\&.e\&. even when the default user
+environment variables\&. If not set, this defaults to true if
+\fIUser=\fR,
+\fIDynamicUser=\fR
+or
+\fIPAMName=\fR
+are set, false otherwise\&. If set to true, the variables will always be set for system services, i\&.e\&. even when the default user
"root"
-is used\&. If false, the mentioned variables are not set by systemd, no matter whether
-\fIUser=\fR
-is used or not\&. This option normally has no effect on user services, since these variables are typically inherited from user manager\*(Aqs own environment anyway\&.
+is used\&. If set to false, the mentioned variables are not set by the service manager, no matter whether
+\fIUser=\fR,
+\fIDynamicUser=\fR, or
+\fIPAMName=\fR
+are used or not\&. This option normally has no effect on services of the per\-user service manager, since in that case these variables are typically inherited from user manager\*(Aqs own environment anyway\&.
.sp
Added in version 255\&.
.RE
@@ -1410,11 +1443,11 @@ Added in version 209\&.
.PP
\fIIgnoreSIGPIPE=\fR
.RS 4
-Takes a boolean argument\&. If true, causes
+Takes a boolean argument\&. If true,
\fBSIGPIPE\fR
-to be ignored in the executed process\&. Defaults to true because
+is ignored in the executed process\&. Defaults to true since
\fBSIGPIPE\fR
-generally is useful only in shell pipelines\&.
+is generally only useful in shell pipelines\&.
.RE
.SH "SCHEDULING"
.PP
@@ -1532,6 +1565,12 @@ Also note that some sandboxing functionality is generally not available in user
\fIProtectSystem=\fR) are not available, as the underlying kernel functionality is only accessible to privileged processes\&. However, most namespacing settings, that will not work on their own in user services, will work when used in conjunction with
\fIPrivateUsers=\fR\fBtrue\fR\&.
.PP
+Note that the various options that turn directories read\-only (such as
+\fIProtectSystem=\fR,
+\fIReadOnlyPaths=\fR, \&...) do not affect the ability for programs to connect to and communicate with
+\fBAF_UNIX\fR
+sockets in these directories\&. These options cannot be used to lock down access to IPC services hence\&.
+.PP
\fIProtectSystem=\fR
.RS 4
Takes a boolean argument or the special values
@@ -1556,7 +1595,10 @@ and
\fIProtectKernelTunables=\fR,
\fIProtectControlGroups=\fR)\&. This setting ensures that any modification of the vendor\-supplied operating system (and optionally its configuration, and local mounts) is prohibited for the service\&. It is recommended to enable this setting for all long\-running services, unless they are involved with system updates or need to modify the operating system in other ways\&. If this option is used,
\fIReadWritePaths=\fR
-may be used to exclude specific directories from being made read\-only\&. This setting is implied if
+may be used to exclude specific directories from being made read\-only\&. Similar,
+\fIStateDirectory=\fR,
+\fILogsDirectory=\fR, \&... and related directory settings (see below) also exclude the specific directories from the effect of
+\fIProtectSystem=\fR\&. This setting is implied if
\fIDynamicUser=\fR
is set\&. This setting cannot ensure protection in all cases\&. In general it has the same limitations as
\fIReadOnlyPaths=\fR, see below\&. Defaults to off\&.
@@ -2790,14 +2832,15 @@ and
directories\&.
.sp
Other file system namespace unit settings \(em
-\fIPrivateMounts=\fR,
\fIPrivateTmp=\fR,
\fIPrivateDevices=\fR,
\fIProtectSystem=\fR,
\fIProtectHome=\fR,
\fIReadOnlyPaths=\fR,
\fIInaccessiblePaths=\fR,
-\fIReadWritePaths=\fR, \&... \(em also enable file system namespacing in a fashion equivalent to this option\&. Hence it is primarily useful to explicitly request this behaviour if none of the other settings are used\&.
+\fIReadWritePaths=\fR,
+\fIBindPaths=\fR,
+\fIBindReadOnlyPaths=\fR, \&... \(em also enable file system namespacing in a fashion equivalent to this option\&. Hence it is primarily useful to explicitly request this behaviour if none of the other settings are used\&.
.sp
This option is only available for system services, or for services running in per\-user instances of the service manager in which case
\fIPrivateUsers=\fR
@@ -3481,7 +3524,7 @@ The
option may be used to connect a specific file system object to standard output\&. The semantics are similar to the same option of
\fIStandardInput=\fR, see above\&. If
\fIpath\fR
-refers to a regular file on the filesystem, it is opened (created if it doesn\*(Aqt exist yet) for writing at the beginning of the file, but without truncating it\&. If standard input and output are directed to the same file path, it is opened only once \(em for reading as well as writing \(em and duplicated\&. This is particularly useful when the specified path refers to an
+refers to a regular file on the filesystem, it is opened (created if it doesn\*(Aqt exist yet using privileges of the user executing the systemd process) for writing at the beginning of the file, but without truncating it\&. If standard input and output are directed to the same file path, it is opened only once \(em for reading as well as writing \(em and duplicated\&. This is particularly useful when the specified path refers to an
\fBAF_UNIX\fR
socket in the file system, as in that case only a single stream connection is created for both input and output\&.
.sp
@@ -3543,7 +3586,7 @@ on
systemd\-journald\&.socket
(also see the "Implicit Dependencies" section above)\&. Also note that in this case stdout (or stderr, see below) will be an
\fBAF_UNIX\fR
-stream socket, and not a pipe or FIFO that can be re\-opened\&. This means when executing shell scripts the construct
+stream socket, and not a pipe or FIFO that can be reopened\&. This means when executing shell scripts the construct
\fBecho "hello" > /dev/stderr\fR
for writing text to stderr will not work\&. To mitigate this use the construct
\fBecho "hello" >&2\fR
@@ -3678,6 +3721,8 @@ separated by whitespace\&. See
for details on the journal field concept\&. Even though the underlying journal implementation permits binary field values, this setting accepts only valid UTF\-8 values\&. To include space characters in a journal field value, enclose the assignment in double quotes (")\&.
The usual specifiers are expanded in all assignments (see below)\&. Note that this setting is not only useful for attaching additional metadata to log records of a unit, but given that all fields and values are indexed may also be used to implement cross\-unit log record matching\&. Assign an empty string to reset the list\&.
.sp
+Note that this functionality is currently only available in system services, not in per\-user services\&.
+.sp
Added in version 236\&.
.RE
.PP
@@ -3727,7 +3772,7 @@ would add a pattern matching
"~foobar"
to the allow list\&.
.sp
-Log messages are tested against denied patterns (if any), then against allowed patterns (if any)\&. If a log message matches any of the denied patterns, it will be discarded, whatever the allowed patterns\&. Then, remaining log messages are tested against allowed patterns\&. Messages matching against none of the allowed pattern are discarded\&. If no allowed patterns are defined, then all messages are processed directly after going through denied filters\&.
+Log messages are tested against denied patterns (if any), then against allowed patterns (if any)\&. If a log message matches any of the denied patterns, it is discarded immediately without considering allowed patterns\&. Remaining log messages are tested against allowed patterns\&. Messages matching against none of the allowed pattern are discarded\&. If no allowed patterns are defined, then all messages are processed directly after going through denied filters\&.
.sp
Filtering is based on the unit for which
\fILogFilterPatterns=\fR
@@ -3735,6 +3780,8 @@ is defined, meaning log messages coming from
\fBsystemd\fR(1)
about the unit are not taken into account\&. Filtered log messages won\*(Aqt be forwarded to traditional syslog daemons, the kernel log buffer (kmsg), the systemd console, or sent as wall messages to all logged\-in users\&.
.sp
+Note that this functionality is currently only available in system services, not in per\-user services\&.
+.sp
Added in version 253\&.
.RE
.PP
@@ -3934,6 +3981,8 @@ are searched as well\&.
.sp
If the file system path is omitted it is chosen identical to the credential name, i\&.e\&. this is a terse way to declare credentials to inherit from the service manager into a service\&. This option may be used multiple times, each time defining an additional credential to pass to the unit\&.
.sp
+Note that if the path is not specified or a valid credential identifier is given, i\&.e\&. in the above two cases, a missing credential is not considered fatal\&.
+.sp
If an absolute path referring to a directory is specified, every file in that directory (recursively) will be loaded as a separate credential\&. The ID for each credential will be the provided ID suffixed with
"_$FILENAME"
(e\&.g\&.,
@@ -3973,6 +4022,11 @@ for the details about
or
\fIDeviceAllow=\fR\&.
.sp
+Note that encrypted credentials targeted for services of the per\-user service manager must be encrypted with
+\fBsystemd\-creds encrypt \-\-user\fR, and those for the system service manager without the
+\fB\-\-user\fR
+switch\&. Encrypted credentials are always targeted to a specific user or the system as a whole, and it is ensured that per\-user service managers cannot decrypt secrets intended for the system or for other users\&.
+.sp
The credential files/IPC sockets must be accessible to the service manager, but don\*(Aqt have to be directly accessible to the unit\*(Aqs processes: the credential data is read and copied into separate, read\-only copies for the unit that are accessible to appropriately privileged processes\&. This is particularly useful in combination with
\fIDynamicUser=\fR
as this way privileged data can be made available to processes running under a dynamic UID (i\&.e\&. not a previously known one) without having to open up access to all users\&.
@@ -5547,23 +5601,7 @@ MONITOR_UNIT=mysuccess\&.service
.\}
.SH "SEE ALSO"
.PP
-\fBsystemd\fR(1),
-\fBsystemctl\fR(1),
-\fBsystemd-analyze\fR(1),
-\fBjournalctl\fR(1),
-\fBsystemd-system.conf\fR(5),
-\fBsystemd.unit\fR(5),
-\fBsystemd.service\fR(5),
-\fBsystemd.socket\fR(5),
-\fBsystemd.swap\fR(5),
-\fBsystemd.mount\fR(5),
-\fBsystemd.kill\fR(5),
-\fBsystemd.resource-control\fR(5),
-\fBsystemd.time\fR(7),
-\fBsystemd.directives\fR(7),
-\fBtmpfiles.d\fR(5),
-\fBexec\fR(3),
-\fBfork\fR(2)
+\fBsystemd\fR(1), \fBsystemctl\fR(1), \fBsystemd-analyze\fR(1), \fBjournalctl\fR(1), \fBsystemd-system.conf\fR(5), \fBsystemd.unit\fR(5), \fBsystemd.service\fR(5), \fBsystemd.socket\fR(5), \fBsystemd.swap\fR(5), \fBsystemd.mount\fR(5), \fBsystemd.kill\fR(5), \fBsystemd.resource-control\fR(5), \fBsystemd.time\fR(7), \fBsystemd.directives\fR(7), \fBtmpfiles.d\fR(5), \fBexec\fR(3), \fBfork\fR(2)
.SH "NOTES"
.IP " 1." 4
Discoverable Partitions Specification