我试图通过在我的服务文件中使用 CapabilityBoundingSet 选项来减少 root 用户的能力。无论如何,我似乎无法阻止 root 写入文件。
例如,使用此服务文件:
$ cat test.service
[Unit]
Description=Test
After=basic.target
[Service]
ExecStart=/bin/sh -c "echo 172 > /target"
CapabilityBoundingSet=CAP_DAC_READ_SEARCH
所以,如果我有这个原始文件:
$ cat /target
I am the original file
$ systemctl start test.service
$ cat /target
172
$ whoami
root
我的内核版本是 3.1.10。
我也尝试过使用空集或其他功能,但无法正常工作..可能有什么问题?