4.11 实验题答案
实验题1
实验题1的目的是让读者练习配置与/usr/bin/passwd的SUID位相关的权限。
实验题2
实验题2显示了如何让一个用户拥有的脚本可被另一个用户执行。如果由ACL配置的普通用户正确执行此脚本,则会在本地目录中看到一个名为filelist的文件。
实验题3
在/root管理目录上配置ACL是一个不安全的做法。但是,它正好可以说明系统上ACL的功能,以及它是如何允许选定的普通用户访问root管理员账户的“圣地”。正因为有此风险,所以此实验题完成后必须禁用ACL。假如选定的用户是michael,则一个方法是用下面的命令:
# setfacl -b u:michael /root
实验题4
本实验题的目的是让用户了解在强制模式中禁用和重新启动SELinux所需要的时间和精力。如果在禁用模式与许可模式之间进行切换,也需要付出同样的时间和精力。如果必须在强制模式中重新配置SELinux,那么在Red Hat考试中就会损失宝贵的时间,因为在系统重新启动并且重新赋予标签时,任何操作都无法执行。
实验题5
在RHEL 7中,标准用户是unconfined_u SELinux用户类型。因此,他们的账户几乎没有受到任何限制。假如考试或者公司的政策要求对普通用户加上一定的限制,则可能会想到创建__default__用户为SELinux user_u用户类型。或者,如果要求将特定用户创建为受限的类型,如xguest_u或staff_u等,多次使用semanage login命令即可。如果需要回顾semanage login命令的语法,可以执行man semanage-login。
实验题6
经过验证后,某个用户是一个guest_u类型的用户,则大多数系统管理员会希望普通用户拥有更多的权限。但guest_u用户很适合某些系统,例如边缘服务器,因为在这些系统上希望锁定用户账户。
实验题7
配置为guest_u SELinux用户类型的用户通常不允许执行脚本,甚至不可以执行自己主目录中的脚本。用本实验题介绍的guest_exec_content布尔型参数可以改变这种情形。通过简单的比较就可以判断本实验题是否成功:在有这个活动的布尔值和没有布尔值的情况下,这个脚本是否可以执行。
虽然恢复初始配置的最简单方法是使用GUI SELinux管理工具,但还需要知道如何使用下面的命令禁用了michael用户的自定义SELinux用户类型:
# semanage login -d michael
实验题8
本实验题的成功可以用ls -Zd命令来衡量。当这个命令应用于/ftp和/var/ftp/pub两个目录上时,应该会得到两个相同的列表,其中都包含相应目录的SELinux角色、对象、类型和MLS选项。
然后,执行restorecon -R /ftp命令,并再次检查/ftp目录的SELinux类型。如果发生了变化,则说明没有按照本章前面的描述,使用semanage fcontext命令修改默认的文件上下文。
实验题9
每个人都会用不同的方法测试SELinux,因此本实验题的结果是由用户本人来决定。其目的是分析一个相关的日志文件,并在命令行对它进行处理。努力识别与每个警告信息相对应的问题。虽然用户可能无法处理很多SELinux问题,但是至少可以在本书的第II部分中用户能识别这些问题,或至少能够识别与每个警告有关的用户和/或命令。