常见目录

掌握 Linux 的目录层次结构对于进行系统管理和安全渗透极其重要。由于 Linux 遵循“一切皆文件”的设计哲学,无论是系统服务还是底层硬件,最终都会以文件和目录的形式呈现在文件系统层次结构标准(FHS)规定的目录中。

以下是几个最核心的常见目录及其用途:

常见核心目录详解

/etc

这是系统关键的配置目录。包含了操作系统运行所需的所有系统级配置文件和初始化服务脚本。

  • /etc/passwd:系统注册用户的基础属性表。
  • /etc/shadow:存储经过哈希处理的用户保密密码。
  • /etc/sudoers:配置了哪些用户和组可以通过 sudo 权限执行特定的管理员命令。

/var

代表可变数据。该目录专门用于存放经常变动的文件,通常与特定的普通用户无关。

  • /var/log:集中存放系统各项服务及应用程序生成的运行日志。这是后续进行安全事件排查与分析的必经之地。
  • /var/backups:通常用于存放系统或某些重要软件的日常备份文件,经常蕴藏着敏感的老旧配置和泄漏凭证。

/root

虽然我们有 /home 目录作为普通用户的家目录,但系统最高的特权用户 root 的主目录非常独特,被单独安排在根目录下的 /root 目录。非特权用户通常无法读取或访问此文件夹。

/tmp

代表临时目录。此目录用于存储临时产生的数据。

警告

许多发行版会在重启或由定时清理策略运行时清空 /tmp,切勿在此存放需要长期保留的重要文件。

在安全测试中,/tmp 目录通常具备一个非常重要的属性:允许所有用户写入。这意味着,即使你仅在目标主机上获得了一个权限极低的 Shell 账户,通常也能够在 /tmp 目录中创建、下载和写入脚本或工具;能否执行仍取决于挂载选项、权限与其他安全策略。

/home

这是用于安置系统中所有常规普通用户专属目录的地方。例如,当系统中创建了 crow 用户时,就会自动生成 /home/crow 目录作为其个人主目录。

总结

对这些常见目录有清晰的认知,能够帮助我们在后续的安全进阶课程中,快速锁定可能存在设计缺陷的特权脚本或隐藏凭证文件。

临时目录路径

练习

在 Linux 系统中,哪个根目录常用于存放临时文件、默认允许任何人写入并在系统重启时自动清空?请提交该目录的绝对路径(例如 /etc)。

提交答案

题解 Hint