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> - $ chcat -- +<category1>,+<category2> <path/to/file1>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 使用 - setrans.conf文件中的类别号- c0到- c1023或 category 标签。如需更多信息,请参阅 MCS 中的定义类别标签。- 您可以使用相同的语法从文件中删除类别: - chcat -- -<category1>,-<category2> <path/to/file1> - $ chcat -- -<category1>,-<category2> <path/to/file1>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 删除类别时,必须在使用 - -<category>语法前在命令行中指定- --。否则,- chcat命令会错误地将类别删除作为命令选项进行解译。
验证
- 显示文件的安全上下文,以验证它具有正确的类别: - ls -lZ <path/to/file> - $ ls -lZ <path/to/file> -rw-r--r-- <LinuxUser1> <Group1> root:object_r:user_home_t:_<sensitivity>_:_<category>_ <path/to/file>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 文件的特定安全上下文可能有所不同。 
- 可选:当以 Linux 用户身份登录时,尝试访问文件没有分配到与该文件相同的类别: - cat <path/to/file> cat: <path/to/file>: Permission Denied - $ cat <path/to/file> cat: <path/to/file>: Permission Denied- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow