7.4. 为 MCS 中的用户分配类别
您可以通过为 Linux 用户分配类别来定义用户授权。分配了类别的用户可以访问和修改用户类别子集的文件。用户也可以为他们自己分配到的类别分配文件。
无法将 Linux 用户分配给在为相关 SELinux 用户定义的安全范围之外的类别。
类别访问权限在登录期间分配。因此,在用户再次登录前,用户无法访问新分配的类别。同样,如果您撤销了对类别的访问权限,这仅在用户再次登录后有效。
先决条件
- 
						SELinux 模式设置为 enforcing。
- 
						SELinux 策略被设置为 targeted或mls。
- 
						已安装 policycoreutils-python-utils软件包。
- Linux 用户被分配给 SELinux 受限用户: - 
								非特权用户将分配给 user_u.
- 
								特权用户被分配给 staff_u。
 
- 
								非特权用户将分配给 
步骤
- 定义 SELinux 用户的安全范围。 - semanage user -m -rs0:c0,c1-s0:c0.c9 <user_u> - # semanage user -m -rs0:c0,c1-s0:c0.c9 <user_u>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 使用 - setrans.conf文件中的类别号- c0到- c1023或 category 标签。如需更多信息,请参阅 MCS 中的定义类别标签。
- 为 Linux 用户分配 MCS 类别。您只能指定相关 SELinux 用户定义的范围内的范围: - semanage login -m -rs0:c1 <Linux.user1> - # semanage login -m -rs0:c1 <Linux.user1>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 您可以使用 - chcat命令从 Linux 用户添加或删除类别。以下示例添加- <category1>并从- <Linux.user1>和- <Linux.user2>中删除- <category2>:- chcat -l -- +<category1>,-<category2> <Linux.user1>,<Linux.user2> - # chcat -l -- +<category1>,-<category2> <Linux.user1>,<Linux.user2>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 在使用 - -<category>语法前,您必须在命令行上指定- --。否则,- chcat命令会错误地将类别删除作为命令选项进行解译。
验证
- 列出分配给 Linux 用户的类别: - chcat -L -l <Linux.user1>,<Linux.user2> - # chcat -L -l <Linux.user1>,<Linux.user2> <Linux.user1>: <category1>,<category2> <Linux.user2>: <category1>,<category2>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow