Linux 上进程 Capabilities 可能变化的场景

0、前言 本文不介绍各个 Cap 集的含义,只列举它们各自发生变化的场景和方式。 只讨论 Linux 2.6.33 之后的场景,即:1、Bounding Set 为 per-thread 属性;2、支持文件 Cap。 1、线程自行调整 相较于 DAC 和 MAC,Capabilities 的一个特点是可在运行时动态增减。程序的代码中可带有调整 Cap 的相关系统调用和逻辑,在执行时根据需要主动调整线程的 Cap。例如,在执行某些需要特权的操作前将(Permitted Set 范围内)必要的 Cap 添加至 Effective Set 中,在执行完毕后再将这些 Cap 从 Effective Set 中去除。这种会主动调整 Cap 的 …