Systemd/Linux ReadWritePaths 不工作

Systemd/Linux ReadWritePaths 不工作

我正在尝试提高作为 systemd 服务运行的 Flask Web 服务器的安全性:

[Unit]
Description=Configuration Server

[Service]
Type=simple
ExecStart=/usr/bin/configui
ProtectSystem=full
ProtectHome=yes
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE 
ReadWritePaths=/var/lib/configui/
NoNewPrivileges=yes
PrivateTmp=yes
PrivateDevices=yes
DevicePolicy=closed
ProtectControlGroups=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK
RestrictRealtime=yes
RestrictSUIDSGID=yes
MemoryDenyWriteExecute=yes
LockPersonality=yes

[Install]
WantedBy=multi-user.target

/var/lib/configui/data.json.new但是,当应用程序尝试写入临时文件时,我遇到了问题。完成此操作后,应用程序将/var/lib/configui/data.json用它覆盖。 Python 抛出权限被拒绝错误。该目录的内容:

root@XXXXXX:/var/lib/configui# ls -ll
total 16
-rw-r----- 1 userA userA  589 Jul 30  2020 data.json

我知道我可以通过添加 CAP_DAC_OVERRIDE 来使其工作,但这违背了限制读写操作的目的。

相关内容