gpt4 book ai didi

c - 如何使用 CAP_SYS_BOOT 能力?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:33:33 32 4
gpt4 key购买 nike

我必须开发 C API 来通过 UI APPLICATION 使用重启功能而不是系统调用和 exec 功能来关闭 linux 系统。 This reboot link说为了运行这个函数调用者必须有 CAP_SYS_BOOT在其用户命名空间内。目前此功能仅适用于 root 用户,我必须修改它以使其也适用于普通用户。如何使用功能在 C 函数中设置足够的权限以便任何用户关闭 linux 系统?

turnoff() 
{
sync();
reboot(RB_POWER_OFF);
}

最佳答案

您的流程必须具备这种能力;您不能在运行时将它授予自己(这会破坏功能的全部目的)。

了解 capabilities(7) .

使用setcap设置可执行文件的功能。这通常在安装时完成。作为根:

setcap cap_sys_boot+ep /path/to/your/executable

能力也可以被子进程继承。

关于c - 如何使用 CAP_SYS_BOOT 能力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53550247/

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