-
软件开发指南_v2.09_20190527版适用于rk3399_android7.1平台的初始安全标识符
资源介绍
10.6 初始安全标识符
初始 SID提供了一种特殊的默认标记行为,初始 SID适用于两种环境:在系统初始化策
略还没有载入前的时间,以及当客体的安全上下文无效或安全上下文丢失时使用。
第 7章介绍了 SID,相对于安全上下文,它并不透明,因为它通常只在 SELinux内部使
用,初始 SID是一套保留的 SID,用于系统初始化期间或预定义客体时使用,与大部分 SID
不同的是,它是在运行期间按需创建的,初始 SID在系统中总是存在的(即它们是硬编码进
SELinux LSM模块的),表 10-4列出了 FC 4系统中使用到的初始 SID。
表 10-4.FC 4中初始 SID示例
初始 SID 描述
kernel 适用于所有由内核创建的客体(如内核创建的线程和套接字),system 客体实例,
并且作为内核资源的默认标记。
security 适用于 security 客体实例。
unlabeled 适用于所有安全上下文无效的客体。
file 与文件有关的客体的默认安全上下文,如果它们的安全上下文无效,就使用
unlabeled SID。
port 与端口关联的套接字客体默认安全上下文。
netif 与网络接口关联的 netif 客体的默认安全上下文。
node 与节点关联的 node 客体的默认安全上下文。
sysctl proc 文件系统系统客体的默认安全上下文,这些客体通常通过文件系统安全上下
文语句而不是这个初始 SID 进行标记的。
在系统初始化的早期,策略还没有载入时,有一部分客体是通过初始 SID进行标记的,
这个标记行为在如标记内核安全服务器客体和根文件系统时需要用到,在第一条策略载入前,
它就存在于系统中了,当策略真实载入后,初始 SID就关联合适的安全上下文了。
初始 SID也用于防止客体安全上下文丢失和失效,如果安全上下文丢失或失效将使
SELinux正确实施访问控制变得不可能,相反,SELinux就会使用 unlabeled初始 SID关联
这些客体,unlabeled初始 SID具有的安全上下文只允许受限的访问,因此预防了不恰当的
访问,直到客体被管理员重新标记或销毁。
无效的安全上下文通常来自新载入的移除了用户,角色或类型或改变了角色或类型授权
的策略,在这种情况下,SID代表使用这些无效名字或关联的安全上下文,在策略载入时,
它们就被映射为 unlabeled SID,无效安全上下文在系统间传输客体实例时也可能出现(如
使用可移动介质),而且,如果客体是在一个非 SELinux系统上创建的,它们将没有关联安