linux – 管理cgroup是否需要root访问权限?

我正在尝试在两个不同的操作系统(Ubuntu和CentOS)上使用控制组.我想问的问题很少.

我正在尝试使用cgcreate命令创建一个控制组,看起来它需要在计算机上进行root访问.到目前为止,我所看到的所有示例都没有说明需要成为创建或修改控制组的root用户.

是否真的有必要成为root用户?最终目标是编写一个C应用程序,该应用程序使用libcgroup API创建和管理控制组以控制资源.但是C应用程序不会由任何root用户运行.它可以是任何普通用户.

解决方法:

除此之外的安全含义,您可以设置setuid位

chmod +s /bin/cgcreate
chmod +s /bin/cgdelete

给予运行该程序root权限的非root用户.

建议将删除正常的用户访问权限

chmod 550 /bin/cgcreate
chmod 550 /bin/cgdelete

并创建一个您希望允许使用cgcreate IE cgusers的特殊组,

groupadd cgusers

并将这些文件的组成员身份更改为该组:

chgrp cgusers /bin/cgcreate
chgrp cgusers /bin/cgdelete

所有这些都将由root运行,之后cgusers组中的所有用户将以root身份而不是自己运行cgcreate和cgdelete.你只需要拥有你想要在正确的群体下拥有这种力量的成员.

上一篇:MySQL添加用户、为用户分配权限


下一篇:linux – 如何禁用给定用户的某些系统调用?