Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for RHEL 8

7.4. 为 MCS 中的用户分配类别

您可以通过为 Linux 用户分配类别来定义用户授权。分配了类别的用户可以访问和修改用户类别子集的文件。用户也可以为他们自己分配到的类别分配文件。

无法将 Linux 用户分配给在为相关 SELinux 用户定义的安全范围之外的类别。

注意

类别访问权限在登录期间分配。因此,在用户再次登录前,用户无法访问新分配的类别。同样,如果您撤销了对类别的访问权限,这仅在用户再次登录后有效。

先决条件

  • SELinux 模式设置为 enforcing
  • SELinux 策略被设置为 targetedmls
  • 已安装 policycoreutils-python-utils 软件包。
  • Linux 用户被分配给 SELinux 受限用户:

    • 非特权用户将分配给 user_u.
    • 特权用户被分配给 staff_u

步骤

  1. 定义 SELinux 用户的安全范围。

    # semanage user -m -rs0:c0,c1-s0:c0.c9 <user_u>

    使用 setrans.conf 文件中的类别号 c0c1023 或 category 标签。如需更多信息,请参阅 MCS 中的定义类别标签

  2. 为 Linux 用户分配 MCS 类别。您只能指定相关 SELinux 用户定义的范围内的范围:

    # semanage login -m -rs0:c1 <Linux.user1>
    注意

    您可以使用 chcat 命令从 Linux 用户添加或删除类别。以下示例添加 <category1> 并从 <Linux.user1><Linux.user2> 中删除 <category2>

    # chcat -l -- +<category1>,-<category2> <Linux.user1>,<Linux.user2>

    请注意,在使用 -<category> 语法前,您必须在命令行中指定 --。否则,chcat 命令会错误地将类别删除作为命令选项进行解译。

验证

  • 列出分配给 Linux 用户的类别:

    # chcat -L -l <Linux.user1>,<Linux.user2>
    <Linux.user1>: <category1>,<category2>
    <Linux.user2>: <category1>,<category2>

其他资源

  • chcat(8) 手册页。