Systemd/Linux ReadWritePath가 작동하지 않습니다.

Systemd/Linux ReadWritePath가 작동하지 않습니다.

systemd 서비스로 실행되는 Flask 웹 서버의 보안을 개선하려고 합니다.

[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를 추가하여 작동하게 할 수 있다는 것을 알고 있지만 이는 읽기 및 쓰기 작업을 제한하려는 목적을 상실합니다.

관련 정보