技术知识整理LINUX · NOTES · TOOLS
← 全部笔记

读懂 Linux 目录与文件权限

理解主目录、系统目录和 rwx 权限,从一个普通文件开始练习最小权限。

本文目录

Linux 把文件组织在从 / 开始的目录树中。理解目录用途和权限,有助于判断文件应该放在哪里,以及“权限不足”究竟意味着什么。本文针对普通文件与目录的基本权限,不包含 ACL 等更细的访问控制。

1. 认识常见目录

/home 通常保存普通用户的个人目录;~ 是当前用户主目录的简写。个人笔记、下载文件和练习项目一般放在这里,不需要管理员权限。

/etc 保存许多系统配置,修改前应了解对应服务并备份。/var 用于日志和其他变化的数据;/tmp 用于临时文件,不能当作长期保存资料的位置。/usr 中有大量由系统软件包管理的程序和资源,不宜手动挪动。

系统目录各有职责。遇到无法写入的提示时,不要直接改整棵目录的权限;先确认自己是否应该在这里操作。

2. 读懂权限字段

运行 ls -l 可以看到类似的结果:

-rw-r--r-- 1 user user 12 Oct 19 10:00 example.txt

开头的 - 表示普通文件,d 表示目录。后面九个位置分为三组,分别对应所有者、所属组和其他用户。r 是读取,w 是写入,x 是执行,- 表示没有对应权限。示例文件的所有者可读写,其他两组只能读取。

对目录而言,r 允许列出名字,x 允许进入并访问其中已知名称的项目,w 涉及目录条目的增删。文件能否删除也受父目录权限影响,不能只看文件自己的写权限。

3. 在个人目录练习

以下使用新建练习目录中的普通文件,不修改系统文件:

mkdir -p ~/permission-practice
cd ~/permission-practice
printf 'private note\n' > example.txt
ls -l example.txt
chmod u=rw,go= example.txt
ls -l example.txt

最后通常显示 -rw-------,表示只有所有者可读写。这里 u 代表所有者,g 代表组,o 代表其他用户。也可用 chmod 600 example.txt 表达相同的基本权限;数字 4、2、1 分别对应读、写、执行,按需要相加。

4. 权限问题先定位

遇到无法访问的文件,先用 id 查看当前身份,再用 ls -ld 目录路径 和 ls -l 文件路径 查看所有者与权限。若某一级父目录不能进入,即使文件可读也可能无法访问。

不要把 chmod -R 777 当作通用修复方法:它会扩大所有用户的权限,还可能破坏目录原本的安全边界。chown 会修改所有者,递归操作影响更广,也不适合作为第一次排查手段。应先确认应用由哪个用户运行、实际需要哪些访问权限,再作最小范围的调整。

权限是明确访问边界的工具。日常练习用普通账户,在需要管理系统时才按明确步骤使用管理员权限,更容易理解和回退每一次修改。

命令和界面可能随系统版本变化。操作前请阅读提示,并保留重要数据的备份。

继续浏览笔记 →