linux - Linux 功能是否划分了可能的特权操作?

标签 linux linux-kernel linux-capabilities

更准确地说,是否有任何操作可以使用不止一种功能来为进程提供必要的权限?

最佳答案

简短的回答是肯定的。

我想说的是,总体模型 是每个操作都由单一功能保护。但是,当然也有异常(exception)。浏览一下 kernel/目录,我很快找到了一个例子。 usermodehelper sysctl 处理程序需要 CAP_SETPCAP 和 CAP_SYS_MODULE 功能才能更新其设置。

另一个需要考虑的因素:能力检查散布在整个内核代码中,包括许多驱动程序。驱动程序编写者可以选择以他们认为最好的任何方式检查功能,因此很可能需要调用者持有多个功能。

最后,还有许多其他情况,其中单个操作可能使用多个功能,即使它从根本上只需要一个功能。例如,考虑一个系统调用,它需要一个能力作为基础,但也需要一个路径名参数来进行某些操作。我找到了一个例子:pr_ctl 带有选项 PR_SET_MM 和子选项 PR_SET_MM_EXE_FILE 的系统调用。此调用从根本上需要 CAP_SYS_RESOURCE。但是,它还需要对文件具有一定的权限。但是,如果调用用户没有访问文件的正确凭据,并且调用者具有 CAP_DAC_OVERRIDE 功能,则可以覆盖该权限。

关于linux - Linux 功能是否划分了可能的特权操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49285584/

相关文章:

java - 使用 docker 容器中的 java 访问类路径中的 JSON 文件时遇到 FileNotFoundException(SprintBootApplication)

python - Ubuntu Linux : terminal limits the output when I get the full Twitter Streaming API

c - 写入内核模块时内核非法指令

android - 如何获取适用于 Android 的 libcap(Linux 功能库)?

linux - signalfd 和 sigaction 之间可以竞争吗?

linux - 在 linux 命令提示符下逐字删除

c - 如何在 Linux 内核中生成 "artificial"中断?

c - Linux IO 优先级 - fifo 顺序? ...或者?

posix - 如何使用 CAP_SYS_RESOURCE 执行进程

c - pthread_setname_np() 设置功能时