6.6. 在 MLS 中增大文件敏感级别
默认情况下,MLS 用户无法增加文件敏感度级别。但是,安全管理员 (secadm_r
) 可以更改此默认行为,通过向系统 SELinux 策略添加本地模块 mlsfilewrite
来增加文件的敏感度。然后,分配至策略模块中定义的 SELinux 类型的用户可以通过修改文件来增加文件类别级别。每当用户修改文件时,文件的敏感度级别都会提高用户当前安全范围的值。
安全管理员以分配给 secadm_r
角色的用户身份登录时,可以使用 chcon -l s0 /path/to/file
命令更改文件的安全级别。如需更多信息,请参阅 MLS 中的更改文件敏感度。
前提条件
-
SELinux 策略被设置为
mls
。 -
SELinux 模式设置为
enforcing(强制)
模式。 -
已安装
policycoreutils-python-utils
软件包。 -
mlsfilewrite
local 模块安装在 SELinux MLS 策略中。 您以 MLS 中的用户登录,如下:
-
分配给定义的安全范围。本例演示了一个安全性范围为
s0-s2
的用户。 -
分配给
mlsfilewrite
模块中定义的同一 SELinux 类型。这个示例需要(typeattributeset mlsfilewrite (user_t))
模块。
-
分配给定义的安全范围。本例演示了一个安全性范围为
流程
可选:显示当前用户的安全上下文:
$ id -Z user_u:user_r:user_t:s0-s2
将用户的 MLS 安全许可范围的较低级别改为您要分配给该文件的级别:
$ newrole -l s1-s2
可选:显示当前用户的安全上下文:
$ id -Z user_u:user_r:user_t:s1-s2
可选:显示文件的安全上下文:
$ ls -Z /path/to/file user_u:object_r:user_home_t:s0 /path/to/file
通过修改该文件,将文件的敏感度级别改为用户安全许可的较低级别:
$ touch /path/to/file
重要如果系统上使用了
restorecon
命令,则分类级别恢复为默认值。可选:退出 shell 以返回到用户的前一个安全范围:
$ exit
验证
显示文件的安全上下文:
$ ls -Z /path/to/file user_u:object_r:user_home_t:s1 /path/to/file
其他资源