我试图通过在我的服务文件中使用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。
我也试过空集或其他功能,但是没有用......有什么可能是错的?
答案 0 :(得分:0)
我的问题很简单:我试图修改的文件由root拥有,这就是我能够执行更改的原因。如果我更改了所有者,那么我不再允许修改它。