Linux文件系统SELinux标签设置全解析
1. 理解文件系统标签基础
在Linux系统中,文件系统的标签设置对于SELinux(Security-Enhanced Linux)的正常运行至关重要。除了Android上的ramdisk rootfs,Linux的文件系统通常源于挂载操作。为了支持SELinux的所有特性,文件系统需要支持扩展属性(xattr)和安全命名空间。
新创建的文件系统对象通常会继承其父目录的上下文标签,但如果父目录未标记,子对象也会未标记,除非有类型转换规则。未标记的上下文可能意味着数据是在启用SELinux支持之前创建的,或者xattr中的类型标签在当前加载的策略中不存在。
初始标签或初始安全ID(sid)存储在sepolicy文件的initial_sid_contexts中,不同的对象类有对应的初始sid。例如:
sid fs u:object_r:labeledfs:s0
sid file u:object_r:unlabeled:s0
2. 文件系统标签设置方法
2.1 fs_use_xattr
当文件系统支持xattr时,可在策略中使用fs_use_xattr语句。这些语句位于sepolicy目录的fs_use文件中,语法如下:
fs_use_xattr <fstype> <context>
例如,对于ext4文件系统:
fs_use_xattr ext3 u:object_r:labeledfs
超级会员免费看
订阅专栏 解锁全文
1478

被折叠的 条评论
为什么被折叠?



