我正在使用 Linux POSIX mqueue 实现,但遇到了问题。
对于当前内核,最大消息大小为 1MB,但我不需要限制。
man mq_overview
说如果进程是特权进程(具有 CAP_SYS_RESOURCE
能力的进程)它没有限制。
我认为由 root 执行的进程已经获得特权,但我仍然收到“消息太长”错误(我的消息有 2MB)。
如何添加 CAP_SYS_RESOURCE
过程的能力?
最佳答案
我不知道是否可以将其设置为正在运行的进程(我猜不是),但是您可以使用 # setcap 'CAP_SYS_RESOURCE=+ep' /path/to/executable
将 CAP_SYS_RESOURCE 功能授予可执行文件(作为 super 用户)。
在这个例子中 +ep
变成了提高CAP_SYS_RESOURCE
被允许和有效的能力。但是手册页 capabilities(7)
和 setcap(8)
是获取更多信息的有用来源。
关于posix - 如何使用 CAP_SYS_RESOURCE 执行进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739914/