在我的项目中,我有时需要能够以非特权用户的身份创建新的控制组。我决定为此编写一个systemd守护进程。
我在守护程序代码中使用libcgroup进行cgroup操作。
当我尝试创建cgroup(cgroup_create_cgroup
)时,收到libcgroup错误ECGROUPNOTALLOWED
(Cgroup, operation not allowed
)。如何允许我的守护进程创建新的cgroup?
systemd .service file:
[Service]
...
CapabilityBoundingSet=CAP_SYS_ADMIN
PrivateTmp=yes
PrivateDevices=yes
PrivateNetwork=yes
ProtectSystem=yes
ProtectHome=yes
ProtectControlGroups=no
ProtectKernelTunables=no
RestrictRealtime=no
User=root
Group=root
答案 0 :(得分:0)
嗯,我真的不知道哪些保护是奇怪的,但只是将它们全部删除就可以了。