diff --git a/doc/TRANSIENT-SETTINGS.md b/doc/TRANSIENT-SETTINGS.md
index 0ea444b..c2b5c0d 100644
--- a/doc/TRANSIENT-SETTINGS.md
+++ b/doc/TRANSIENT-SETTINGS.md
@@ -149,6 +149,7 @@ All execution-related settings are available for transient units.
✓ MemoryDenyWriteExecute=
✓ RestrictNamespaces=
✓ RestrictRealtime=
+✓ RestrictSUIDSGID=
✓ RestrictAddressFamilies=
✓ LockPersonality=
✓ LimitCPU=
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index 87fb8b3..45ed186 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -348,18 +348,19 @@ CapabilityBoundingSet=~CAP_B CAP_C
NoNewPrivileges=
- Takes a boolean argument. If true, ensures that the service process and all its children can
- never gain new privileges through execve() (e.g. via setuid or setgid bits, or filesystem
- capabilities). This is the simplest and most effective way to ensure that a process and its children can never
- elevate privileges again. Defaults to false, but certain settings override this and ignore the value of this
- setting. This is the case when SystemCallFilter=,
- SystemCallArchitectures=, RestrictAddressFamilies=,
- RestrictNamespaces=, PrivateDevices=,
- ProtectKernelTunables=, ProtectKernelModules=,
- MemoryDenyWriteExecute=, RestrictRealtime=, or
- LockPersonality= are specified. Note that even if this setting is overridden by them,
- systemctl show shows the original value of this setting. Also see
- No New Privileges
+ Takes a boolean argument. If true, ensures that the service process and all its
+ children can never gain new privileges through execve() (e.g. via setuid or
+ setgid bits, or filesystem capabilities). This is the simplest and most effective way to ensure that
+ a process and its children can never elevate privileges again. Defaults to false, but certain
+ settings override this and ignore the value of this setting. This is the case when
+ SystemCallFilter=, SystemCallArchitectures=,
+ RestrictAddressFamilies=, RestrictNamespaces=,
+ PrivateDevices=, ProtectKernelTunables=,
+ ProtectKernelModules=, MemoryDenyWriteExecute=,
+ RestrictRealtime=, RestrictSUIDSGID= or
+ LockPersonality= are specified. Note that even if this setting is overridden by
+ them, systemctl show shows the original value of this setting. Also see No New Privileges
Flag.
@@ -1275,6 +1276,22 @@ RestrictNamespaces=~cgroup net
+ RestrictSUIDSGID=
+
+ Takes a boolean argument. If set, any attempts to set the set-user-ID (SUID) or
+ set-group-ID (SGID) bits on files or directories will be denied (for details on these bits see
+ inode7). If
+ running in user mode, or in system mode, but without the CAP_SYS_ADMIN
+ capability (e.g. setting User=), NoNewPrivileges=yes is
+ implied. As the SUID/SGID bits are mechanisms to elevate privileges, and allows users to acquire the
+ identity of other users, it is recommended to restrict creation of SUID/SGID files to the few
+ programs that actually require them. Note that this restricts marking of any type of file system
+ object with these bits, including both regular files and directories (where the SGID is a different
+ meaning than for files, see documentation). Defaults to off.
+
+
+
RemoveIPC=
Takes a boolean parameter. If set, all System V and POSIX IPC objects owned by the user and