3.8. 通过映射到 sysadm_u 来限制管理员
				您可以通过将用户直接映射到 sysadm_u SELinux 用户来限制具有管理权限的用户。当用户登录时,会话会在 sysadm_u:sysadm_r:sysadm_t SELinux 上下文中运行。
			
				默认情况下,Red Hat Enterprise Linux 中的所有 Linux 用户(包括管理权限的用户)都会映射到无限制的 SELinux 用户 unconfined_u。您可以通过将用户分配给受 SELinux 限制的用户来提高系统安全性。这对遵守 V-71971 安全技术实施指南非常有用。
			
先决条件
- 
						root用户运行没有限制。这是 Red Hat Enterprise Linux 的默认设置。
流程
- 可选:要允许 - sysadm_u用户使用 SSH 连接到系统:- setsebool -P ssh_sysadm_login on - # setsebool -P ssh_sysadm_login on- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将一个新用户或现有用户映射到 - sysadm_uSELinux 用户:- 要映射新用户,请将新用户添加到 - wheel用户组中,并将用户映射到- sysadm_uSELinux 用户:- adduser -G wheel -Z sysadm_u <example_user> - # adduser -G wheel -Z sysadm_u <example_user>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 要映射现有用户,请将用户添加到 - wheel用户组中,并将用户映射到- sysadm_uSELinux 用户:- usermod -G wheel -Z sysadm_u <example_user> - # usermod -G wheel -Z sysadm_u <example_user>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 恢复用户主目录的上下文: - restorecon -R -F -v /home/<example_user> - # restorecon -R -F -v /home/<example_user>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 检查 - <example_user>是否被映射到- sysadm_uSELinux 用户:- semanage login -l | grep <example_user> - # semanage login -l | grep <example_user> <example_user> sysadm_u s0-s0:c0.c1023 *- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以 - <example_user>身份登录,例如使用 SSH,并显示用户的安全上下文:- [<example_user>@localhost ~]$ id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023 - [<example_user>@localhost ~]$ id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 切换到 - root用户:- sudo -i - $ sudo -i [sudo] password for <example_user>:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 验证安全性上下文是否保持不变: - id -Z - # id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 尝试管理任务,例如重启 - sshd服务:- systemctl restart sshd - # systemctl restart sshd- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果没有输出结果,则代表命令可以成功完成。 - 如果该命令没有成功完成,它会输出以下信息: - Failed to restart sshd.service: Access denied See system logs and 'systemctl status sshd.service' for details. - Failed to restart sshd.service: Access denied See system logs and 'systemctl status sshd.service' for details.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow