首页 理论教育 Linux内核安全模块深入剖析:有效能力集与进程调用

Linux内核安全模块深入剖析:有效能力集与进程调用

时间:2023-11-22 理论教育 版权反馈
【摘要】:有效能力集有效能力集可以类比进程凭证中的有效用户id或有效组id。内核在做特权判断时,判断的就是有效能力集中是否具备相应的能力。可继承能力集就是跨越execve不变的东西。2)在执行系统调用execve时,进程从文件的允许能力集获得的能力必须也在进程的限制能力集中。

Linux内核安全模块深入剖析:有效能力集与进程调用

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。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈