gpt4 book ai didi

linux - 如何为 Linux 用户设置 CAP_SYS_NICE 能力?

转载 作者:IT王子 更新时间:2023-10-29 00:06:27 24 4
gpt4 key购买 nike

我的程序正在使用 Linux 系统调用 setpriority() 来更改它创建的线程的优先级。它需要设置负优先级 (-10),但如文档中所述,以普通用户身份运行时会失败。

用户需要CAP_SYS_NICE能力来设置他想要的优先级,但我不知道如何给用户这样的能力。

所以我的问题是:如何为 Linux 用户设置 CAP_SYS_NICE 功能?

最佳答案

有一个非常方便的实用程序可用于设置二进制文件的功能:setcap。这需要在您的应用程序二进制文件上以 root 身份运行,但一旦设置,就可以作为普通用户运行。示例:

$ sudo setcap 'cap_sys_nice=eip' <application>

您可以使用 getcap 确认应用程序的功能:

$ getcap <application>
<application> = cap_sys_nice+eip

我建议将这些功能集成到安装行中的 makefile 中,无论如何它通常以 root 身份运行。请注意,功能不能存储在 TAR 文件或任何衍生包格式中。如果您稍后打包您的应用程序,您将需要一个脚本(Debian 包的 postinst)来应用部署功能。

关于linux - 如何为 Linux 用户设置 CAP_SYS_NICE 能力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7635515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com