7.5. 为 MCS 中的文件分配类别
您需要具有管理特权才能为用户分配类别。然后用户可以为文件分配类别。要修改文件的类别,用户必须拥有该文件的访问权限。用户只能为为其分配的类别分配一个文件。
系统将类别访问规则与传统的文件访问权限合并。例如,如果具有 bigfoot
类别的用户使用 Discretionary Access Control(DAC)来阻止其他用户对文件的访问,则其他 bigfoot
用户可以访问该文件。分配给所有可用类别的用户仍无法访问整个文件系统。
先决条件
-
SELinux 模式设置为
enforcing
。 -
SELinux 策略被设置为
targeted
或mls
。 -
已安装
policycoreutils-python-utils
软件包。 对 Linux 用户的访问权限和权限:
- 分配给 SELinux 用户。
- 分配给要为其分配该文件的类别。如需更多信息,请参阅 MCS 中的用户分配类别。
- 访问您要添加到该类别中的文件的访问权限和权限。
- 为进行验证:对尚未分配给此类别的 Linux 用户访问和权限
步骤
为文件添加类别:
$ chcat -- +<category1>,+<category2> <path/to/file1>
使用
setrans.conf
文件中的类别号c0
到c1023
或 category 标签。如需更多信息,请参阅 MCS 中的定义类别标签。您可以使用相同的语法从文件中删除类别:
$ chcat -- -<category1>,-<category2> <path/to/file1>
注意删除类别时,必须在使用
-<category>
语法前在命令行中指定--
。否则,chcat
命令会错误地将类别删除作为命令选项进行解译。
验证
显示文件的安全上下文,以验证它具有正确的类别:
$ ls -lZ <path/to/file> -rw-r--r-- <LinuxUser1> <Group1> root:object_r:user_home_t:_<sensitivity>_:_<category>_ <path/to/file>
文件的特定安全上下文可能有所不同。
可选:当作为未分配给与该文件相同的类别的 Linux 用户登录时,尝试访问该文件:
$ cat <path/to/file> cat: <path/to/file>: Permission Denied
其他资源
-
semanage (8)
和chcat (8)
手册页