简介
在类 Unix 操作系统中,setuid(设置用户 ID)是一种特殊的文件权限,允许用户以文件所有者的权限执行该文件。虽然这对于某些系统操作非常有用,但如果使用不当,也可能带来安全风险。在本挑战中,你将学习如何识别并列出系统上的所有 setuid 文件,这是系统管理员和安全专业人员的一项必备技能。
环境
LabEx 使用 Red Hat Universal Base Image 9 (UBI9) 来模拟考试环境。它可能与实际的 RHCSA 考试环境不完全相同,但能很好地呈现你将遇到的任务。
环境中包含两个用户:
labex:具有 sudo 权限的标准用户,密码为labex。root:系统管理员,密码为redhat。
本挑战包含真实的考试题目,以及相应的解释、要求和自动验证脚本,以帮助你确认任务完成情况。它有效地模拟了 RHCSA 考试所涵盖的知识领域。
定位并列出 Setuid 文件
在此步骤中,你将使用 find 命令搜索整个文件系统以查找 setuid 文件,并将结果保存到文件中。
任务
- 在整个文件系统中搜索设置了 setuid 权限的文件。
- 将 setuid 文件列表保存到你主目录中名为
setuid_list的文件中。
要求
- 以
labex用户身份在/home/labex目录下执行所有命令。 - 使用
find命令搜索 setuid 文件。 - 将输出保存到
/home/labex目录下的setuid_list文件中。
示例
完成此任务后,setuid_list 文件可能包含类似以下的内容:
/usr/bin/sudo
/usr/bin/passwd
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/su
/usr/bin/mount
/usr/bin/umount
/usr/bin/crontab
/usr/bin/pkexec
请注意,实际列表可能会根据系统配置而有所不同。
总结
在本挑战中,你学习了如何查找并列出类 Unix 系统上的所有 setuid 文件。对于系统管理员和安全专业人员来说,这项任务对于识别具有提升权限且可能存在风险的文件至关重要。你使用了带有特定选项的 find 命令来定位设置了 setuid 位的文件,并将输出重定向到文件中以便进一步分析。这项技能对于进行安全审计、识别潜在漏洞以及维护系统完整性非常有价值。



