在我的项目中,有时我需要能够以非特权用户的身份创建新的控制组。我决定为此编写一个 systemd 守护进程。
我在守护程序代码中使用libcgroup进行 cgroup 操作。
当我尝试创建 cgroup ( cgroup_create_cgroup
) 时,我收到 libcgroup 错误ECGROUPNOTALLOWED
( Cgroup, operation not allowed
)。如何允许我的守护进程创建新的 cgroup?
systemd .service 文件:
[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