New directives NoExecPaths= ExecPaths=
Implement directives `NoExecPaths=` and `ExecPaths=` to control `MS_NOEXEC` mount flag for the file system tree. This can be used to implement file system W^X policies, and for example with allow-listing mode (NoExecPaths=/) a compromised service would not be able to execute a shell, if that was not explicitly allowed. Example: [Service] NoExecPaths=/ ExecPaths=/usr/bin/daemon /usr/lib64 /usr/lib Closes: #17942.
This commit is contained in:
committed by
Topi Miettinen
parent
78dff3f3d7
commit
ddc155b2fd
@@ -2643,6 +2643,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as InaccessiblePaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as ExecPaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as NoExecPaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly t MountFlags = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly b PrivateTmp = ...;
|
||||
@@ -3154,6 +3158,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
|
||||
<!--property InaccessiblePaths is not documented!-->
|
||||
|
||||
<!--property ExecPaths is not documented!-->
|
||||
|
||||
<!--property NoExecPaths is not documented!-->
|
||||
|
||||
<!--property PrivateTmp is not documented!-->
|
||||
|
||||
<!--property PrivateDevices is not documented!-->
|
||||
@@ -3722,6 +3730,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2eservice {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="InaccessiblePaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="ExecPaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="NoExecPaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MountFlags"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="PrivateTmp"/>
|
||||
@@ -4385,6 +4397,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as InaccessiblePaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as ExecPaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as NoExecPaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly t MountFlags = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly b PrivateTmp = ...;
|
||||
@@ -4924,6 +4940,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
|
||||
<!--property InaccessiblePaths is not documented!-->
|
||||
|
||||
<!--property ExecPaths is not documented!-->
|
||||
|
||||
<!--property NoExecPaths is not documented!-->
|
||||
|
||||
<!--property PrivateTmp is not documented!-->
|
||||
|
||||
<!--property PrivateDevices is not documented!-->
|
||||
@@ -5490,6 +5510,10 @@ node /org/freedesktop/systemd1/unit/avahi_2ddaemon_2esocket {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="InaccessiblePaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="ExecPaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="NoExecPaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MountFlags"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="PrivateTmp"/>
|
||||
@@ -6066,6 +6090,10 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as InaccessiblePaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as ExecPaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as NoExecPaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly t MountFlags = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly b PrivateTmp = ...;
|
||||
@@ -6533,6 +6561,10 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
|
||||
<!--property InaccessiblePaths is not documented!-->
|
||||
|
||||
<!--property ExecPaths is not documented!-->
|
||||
|
||||
<!--property NoExecPaths is not documented!-->
|
||||
|
||||
<!--property PrivateTmp is not documented!-->
|
||||
|
||||
<!--property PrivateDevices is not documented!-->
|
||||
@@ -7017,6 +7049,10 @@ node /org/freedesktop/systemd1/unit/home_2emount {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="InaccessiblePaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="ExecPaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="NoExecPaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MountFlags"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="PrivateTmp"/>
|
||||
@@ -7714,6 +7750,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as InaccessiblePaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as ExecPaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly as NoExecPaths = ['...', ...];
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly t MountFlags = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly b PrivateTmp = ...;
|
||||
@@ -8167,6 +8207,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
|
||||
<!--property InaccessiblePaths is not documented!-->
|
||||
|
||||
<!--property ExecPaths is not documented!-->
|
||||
|
||||
<!--property NoExecPaths is not documented!-->
|
||||
|
||||
<!--property PrivateTmp is not documented!-->
|
||||
|
||||
<!--property PrivateDevices is not documented!-->
|
||||
@@ -8637,6 +8681,10 @@ node /org/freedesktop/systemd1/unit/dev_2dsda3_2eswap {
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="InaccessiblePaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="ExecPaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="NoExecPaths"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="MountFlags"/>
|
||||
|
||||
<variablelist class="dbus-property" generated="True" extra-ref="PrivateTmp"/>
|
||||
|
||||
Reference in New Issue
Block a user