Menu Close

6.5. 在 MLS 中定义的安全范围内更改用户清晰的级别

作为多级安全性(MLS)中的用户,您可以在管理员分配给您的范围内更改当前的明确级别。您永远不会超过范围的上限,或低于您范围内的下级。例如,您可以修改较低的敏感性文件,而不提高其敏感度级别最高的级别。

例如,作为分配给范围 s1-s3 的用户:

  • 您可以切换到级别 s1、s 2s3
  • 您可以切换到范围 s1-s2s2-s3
  • 您不能切换到范围 s0-s3s1-s4
注意

切换到其他级别会打开具有不同清晰的新 shell。这意味着您无法返回原始清晰级别与减少它的方式相同。但是,通过输入 exit 总是可以返回到之前的 shell。

先决条件

  • SELinux 策略设置为 mls
  • SELinux 模式 设置为强制模式
  • 您可以作为分配给一系列 MLS clearance 级别的用户身份登录。

步骤

  1. 以 用户身份登录安全终端。

    注意

    安全终端在 /etc/selinux/mls/contexts/securetty_types 文件中定义。默认情况下,控制台是一个安全终端,但 SSH 不是。

  2. 检查当前用户的安全上下文:

    $ id -Z
    user_u:user_r:user_t:s0-s2

    在本例中,该用户被分配给 user_u SELinux 用户、user_r 角色、user_t 类型,以及 MLS 安全范围 s0-s2

  3. 检查当前用户的安全上下文:

    $ id -Z
    user_u:user_r:user_t:s1-s2
  4. 切换到用户清晰范围内的不同安全清晰范围:

    $ newrole -l s1

    您可以切换到其最大值较低或等于您的分配范围的任何范围。输入单个级别范围会更改所分配范围的较低限制。例如,输入 newrole -l s1 作为具有 s0-s2 范围的用户,相当于输入 newrole -l s1-s2

验证

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

    $ id -Z
    user_u:user_r:user_t:s1-s2
  2. 通过终止当前 shell,返回到之前带有原始范围的 shell:

    $ exit

其他资源