简介

在类 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 位的文件,并将输出重定向到文件中以便进一步分析。这项技能对于进行安全审计、识别潜在漏洞以及维护系统完整性非常有价值。

✨ 查看解决方案并练习