加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

AIX中基于角色的访问控制,第2部分

发布时间:2016-08-06 13:33:31 所属栏目:Unix 来源:站长网
导读:用户定义的角色 在这个部分中,我们将介绍用户定义的角色。 对用户定义的角色进行规划 正如我们在第 1 部分RBAC 中的预定义角色中所讨论的,AIX V6 中包括三种

权限

权限是一种这样的机制,它用于在系统调用中为一个进程授予扩充的功能。权限可用于确定命令是否 符合执行某项操作的条件。

权限和授权之间的定义区别在于,权限是与特定的进程相关联的,而授权则是通过角色与用户相关联 的。

权限的概念适用于大部分的内核级构造,因为定义和大部分的检查都是发生在内核级构造中的。为各 种命令、设备和进程分配相应的权限,这些操作都是在内核之外执行的,然后使用 setkst 命令更新到内 核中。

AIX 将权限定义为位掩码的各个位,以此执行对特权操作的访问控制。AIX V6 中附带了 100 多种权 限,为特权操作提供了非常细粒度的控制。

通过特权命令数据库,可以为命令调用分配相应的权限;通过特权设备数据库,可以使用权限来控制 对设备的访问。

在为系统调用确定访问权限时,内核将检查该进程是否具有所需的相关权限位,然后为其授予相应的 权限、或者拒绝执行。

AIX V6 中的权限是预定义的,并且不能够对其进行修改、删除或者创建。

权限(与授权一样)采用了分层结构。所有的权限都以“PV_”前缀开头,这是权限位的一 种文本表示形式。内核采用层次的方式执行权限检查。在检查权限的时候,系统将首先检查该进程是否具 有所需的最少权限,然后按层次结构继续进行,检查是否存在功能更强大的权限。

PV_ROOT 权限是一种特殊的权限,它代表了除 PV_SU_ 之外所有权限的父节点。分配了 PV_ROOT 权限 的进程在执行时就如同已经对其分配了系统中除 PV_SU_ 之外的所有权限。

进程权限集

进程权限集用于动态地约束或者限制特权操作。内核中定义了多个权限集,以便为特权操作提供各种 控制。多个权限集允许操作系统实施动态权限控制,并且允许应用程序实现最少特权原则。

不同的权限通过下面的权限集与进程相关联。

限制权限集

限制权限集(Limiting Privilege Set,LPS)可以为给定进程定义权限的最大限制或者硬限制。

LPS 定义了最大的权限提升;使用系统中定义的任何接口,进程都不可能获得比这个值更多的权限。 此时,将进程限制为 LPS 权限。

这也意味着,其余的权限集将始终是 LPS 的子集。

尽管 LPS 是最大限制或者硬限制,并且不允许超过这个限制,但是每个进程都可以减少 LPS 中的权 限。一旦某个进程减少了 LPS 中的权限,那么这个新的、经过减少的限制将成为新的 LPS,并且不能扩 展或者增加到其原始值。

通过降低 LPS,允许进程根据相关的权限来限定相应的界限。例如,进程可以在执行用户提供的自定 义程序之前减少 LPS 中的权限。

在缺省情况下,进程的 LPS 中包含系统中可供使用的所有权限。

最大权限集

最大权限集(Maximum Privilege Set,MPS)是某个进程可以使用的所有权限的集合。MPS 可以包括 LPS 中的任何权限,但不能超出 LPS。

MPS 并不是一成不变的,并且仅在 LPS 的限制之内具有硬限制。

因此,在一个进程的生存期内,MPS 的值是可以更改的。

下面提供了一些示例,说明了在什么情况下可以更改 MPS:

在当前进程执行另一个特权命令,然后获得相关的附加权限的时候。

如果该进程具有适当的权限,那么它可以以编程的方式动态地扩展 MPS。

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读