Red Hat Training

A Red Hat training course is available for RHEL 8

7.5. 为 MCS 中的文件分配类别

您需要具有管理特权才能为用户分配类别。然后用户可以为文件分配类别。要修改文件的类别,用户必须拥有该文件的访问权限。用户只能为为其分配的类别分配一个文件。

注意

系统将类别访问规则与传统的文件访问权限合并。例如,如果具有 bigfoot 类别的用户使用 Discretionary Access Control(DAC)来阻止其他用户对文件的访问,则其他 bigfoot 用户可以访问该文件。分配给所有可用类别的用户仍无法访问整个文件系统。

先决条件

  • SELinux 模式设置为 enforcing
  • SELinux 策略被设置为 targetedmls
  • 已安装 policycoreutils-python-utils 软件包。
  • 对 Linux 用户的访问权限和权限:

  • 访问您要添加到该类别中的文件的访问权限和权限。
  • 为进行验证:对尚未分配给此类别的 Linux 用户访问和权限

步骤

  • 为文件添加类别:

    $ chcat -- +<category1>,+<category2> <path/to/file1>

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

    您可以使用相同的语法从文件中删除类别:

    $ chcat -- -<category1>,-<category2> <path/to/file1>
    注意

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

验证

  1. 显示文件的安全上下文,以验证它具有正确的类别:

    $ ls -lZ <path/to/file>
    -rw-r--r--  <LinuxUser1> <Group1> root:object_r:user_home_t:_<sensitivity>_:_<category>_ <path/to/file>

    文件的特定安全上下文可能有所不同。

  2. 可选:当作为未分配给与该文件相同的类别的 Linux 用户登录时,尝试访问该文件:

    $ cat <path/to/file>
    cat: <path/to/file>: Permission Denied

其他资源

  • semanage (8)chcat (8) 手册页