【摘要】:有效能力集有效能力集可以类比进程凭证中的有效用户id或有效组id。内核在做特权判断时,判断的就是有效能力集中是否具备相应的能力。可继承能力集就是跨越execve不变的东西。2)在执行系统调用execve时,进程从文件的允许能力集获得的能力必须也在进程的限制能力集中。
Linux特权机制在进程和文件中分别增加了若干能力集合。下面分别介绍。
1.进程的能力集合
Linux内核在进程凭证中增加了若干能力集合。
(1)有效能力集
有效能力集可以类比进程凭证中的有效用户id(euid)或有效组id(egid)。内核在做特权判断时,判断的就是有效能力集中是否具备相应的能力。
(2)可继承能力集
继承的本意是指父子之间的特性和资源转让,在计算机世界中应是父进程和子进程之间。但这里的继承是指进程在执行系统调用execve之前和执行系统调用execve之后,部分进程的特性被保留。可继承能力集就是跨越execve不变的东西。
(3)允许能力集
允许能力集是有效能力集的超集 [8] 。打个比方,允许能力集是你在银行里存的钱,有效能力集是你钱包里的钱。你去买东西可能因钱包里钱不够而买不成,没关系,上银行取钱再买就行了。
在某些情况下,允许能力集还限制了可以向可继承能力集中添加的能力。这在后面系统调用部分细说。
(4)限制能力集(bounding set)(www.xing528.com)
限制能力集有两个作用:
1)向可继承能力集中添加的能力必须来自限制能力集。
2)在执行系统调用execve时,进程从文件的允许能力集获得的能力必须也在进程的限制能力集中。这个在后面细说。
2.文件的能力集合
文件也有能力集合。文件的能力集合存储在文件的扩展属性“security.capability”中。文件的能力集合是:
●允许能力集
●可继承能力集
●有效能力位
这里和进程不同,有效能力位只是一个比特位,值为1或0。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。