posix - 如何使用 CAP_SYS_RESOURCE 执行进程

标签 posix linux-capabilities

我正在使用 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/

相关文章:

c - POSIX 线程/信号 : Portable way to determine to which thread a signal was delivered?

c - 将带有参数的函数传递给信号处理程序?

c - 内存映射文件的大小不断增大

linux - 为什么 CAP_NET_RAW 不能与 SO_BINDTODEVICE 一起使用?

permissions - cap_dac_override 是 cap_dac_read_search 的超集吗?

c - 如果设置了任何 POLLERR、POLLHUP 或 POLLNVAL revents,poll 是否会返回 -1?

java - regexec 未返回所有预期的匹配项

android - 在 Linux Android 中获取一个文件的文件能力

linux - Linux 中的 init_user 命名空间是什么?

linux - 如何解决 "setsockopt(3, SOL_SOCKET, SO_MARK, [10], 4) = -1 EPERM"非 root 用户操作被拒绝