如何使用 CAP_SYS_RESOURCE 执行进程

发布于 2024-09-19 23:57:07 字数 332 浏览 6 评论 0原文

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

man mq_overview 表示如果进程具有特权(a具有 CAP_SYS_RESOURCE 功能的进程)它没有限制。 我认为 root 执行的进程已经获得了特权,但我仍然收到“消息太长”错误(我的消息有 2MB)。

如何向进程添加 CAP_SYS_RESOURCE 功能?

I'm using Linux POSIX mqueue implementation, and I have a problem.
For current kernel, the max message size is 1MB, but I need to have no limit.

man mq_overview says that if the process is privileged (a process that has CAP_SYS_RESOURCE capability) it has no limits.
I thought that a process executed by root was already privileged, but I'm still getting "message too long" error (my message has 2MB).

How can I add CAP_SYS_RESOURCE capability to the process?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一曲爱恨情仇 2024-09-26 23:57:07

我不知道是否可以将其设置为正在运行的进程(我猜不可能),但您可以使用 # setcap 'CAP_SYS_RESOURCE=+ep' /path/to/executable 将 CAP_SYS_RESOURCE 功能授予可执行文件(作为超级用户)。
在此示例中,+ep 会降低 CAP_SYS_RESOURCE 能力的允许和有效。不过,手册页 capability(7)setcap(8) 是获取更多信息的有用来源。

I don't know if it is possible to set it to a running process (I guess not) but you can grant the CAP_SYS_RESOURCE capability to an executable file using # setcap 'CAP_SYS_RESOURCE=+ep' /path/to/executable (as super user).
In this example the +ep turns down into raise the CAP_SYS_RESOURCE capibility to be permitted and effective. However the man pages capabilities(7) and setcap(8) are useful sources for further information.

空城仅有旧梦在 2024-09-26 23:57:07

您可以更改此文件 /proc/sys/fs/mqueue/msgsize_max 上最大消息大小的上限
我希望它有效

you can change the ceiling on the maximum message size on this file /proc/sys/fs/mqueue/msgsize_max
I hope it works

负佳期 2024-09-26 23:57:07

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

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

:)

try the option RLIMIT_MSGQUEUE in function: int setrlimit(int resource, const struct rlimit *rlim);

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

:)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文