Menu Close

6.6. 在 MLS 中增大文件敏感级别

默认情况下,MLS 用户无法增加文件敏感度级别。但是,安全管理员 (secadm_r) 可以更改此默认行为,通过向系统 SELinux 策略添加本地模块 mlsfilewrite 来增加文件的敏感度。然后,分配至策略模块中定义的 SELinux 类型的用户可以通过修改文件来增加文件类别级别。每当用户修改文件时,文件的敏感度级别都会提高用户当前安全范围的值。

注意

安全管理员以分配给 secadm_r 角色的用户身份登录时,可以使用 chcon -l s0 /path/to/file 命令更改文件的安全级别。如需更多信息,请参阅 第 6.7 节 “在 MLS 中更改文件敏感度”

先决条件

  • SELinux 策略被设置为 mls
  • SELinux 模式设置为 enforcing
  • 已安装 policycoreutils-python-utils 软件包。
  • mlsfilewrite local 模块安装在 SELinux MLS 策略中。
  • 您以 MLS 中的用户登录,如下:

    • 分配给定义的安全范围。本例演示了一个安全性范围为 s0-s2 的用户。
    • 分配给 mlsfilewrite 模块中定义的同一 SELinux 类型。这个示例需要 (typeattributeset mlsfilewrite (user_t)) 模块。

流程

  1. 可选:显示当前用户的安全上下文:

    $ id -Z
    user_u:user_r:user_t:s0-s2
  2. 将用户的 MLS 安全许可范围的较低级别改为您要分配给该文件的级别:

    $ newrole -l s1-s2
  3. 可选:显示当前用户的安全上下文:

    $ id -Z
    user_u:user_r:user_t:s1-s2
  4. 可选:显示文件的安全上下文:

    $ ls -Z /path/to/file
    user_u:object_r:user_home_t:s0 /path/to/file
  5. 通过修改该文件,将文件的敏感度级别改为用户安全许可的较低级别:

    $ touch /path/to/file
    重要

    如果系统上使用了 restorecon 命令,则分类级别恢复为默认值。

  6. 可选:退出 shell 以返回到用户的前一个安全范围:

    $ exit

验证

  • 显示文件的安全上下文:

    $ ls -Z /path/to/file
    user_u:object_r:user_home_t:s1 /path/to/file