如何使用CAP_SYS_RESOURCE执行进程

Leo*_*Alt 10 posix linux-capabilities

我正在使用Linux POSIX mqueue实现,我遇到了问题.对于当前内核,最大邮件大小为1MB,但我需要没有限制.

man mq_overview如果流程具有特权(一个具有CAP_SYS_RESOURCE能力的流程),它就没有限制.我认为root执行的进程已经获得特权,但我仍然收到"消息太长"错误(我的消息有2MB).

如何CAP_SYS_RESOURCE为流程添加功能?

col*_*tox 7

我不知道是否可以将其设置为正在运行的进程(我猜不是),但您可以使用# setcap 'CAP_SYS_RESOURCE=+ep' /path/to/executable(作为超级用户)将CAP_SYS_RESOURCE功能授予可执行文件 .在这个例子中,+ep转向提高CAP_SYS_RESOURCE允许和有效的能力.然而,手册页capabilities(7)setcap(8)有关详细信息的有用来源.


小智 1

尝试函数中的 RLIMIT_MSGQUEUE 选项: int setrlimit(int resource, const struct rlimit *rlim);

手册页:http://www.kernel.org/doc/man-pages/online/pages/man2/setrlimit.2.html

:)