16.08.2025
No categories
如何检查Linux中文件的权限?
Linux 是最流行的操作系统之一,支持 VPS 服务器、网络托管平台和虚拟机。在Linux安全的核心是其文件权限系统——定义谁可以读取、修改或执行文件的规则。了解如何检查 Linux 中的权限对于管理 VPS、设置安全的托管环境或在虚拟机中工作至关重要。
文件权限基础
Linux 中的每个文件和目录都有三种类型的权限:
- 读取 (r) → 查看文件内容或列出目录。
- 写入 (w) → 修改或删除文件,添加或删除目录中的文件。
- 执行 (x) → 运行文件(如果它是程序)或进入目录。
这些权限适用于三类用户:
- 所有者 (用户) → 通常是文件的创建者。
- 组 → 属于文件组的用户。
- 其他人 → 其他所有人。
使用 ls -l 检查权限
最简单的方法是使用 ls -l 命令:
示例输出:
- -rw-r–r– → 权限
- 用户 → 所有者
- 组 → 组
- file.txt → 文件名
这里,-rw-r–r– 意味着:
- 所有者:读取、写入
- 组:读取
- 其他人:读取
使用 stat 获取详细信息
要获取更多详细信息,请使用:
示例:
现在你可以看到权限以两种形式表示:符号形式 (-rw-r–r–) 和数字形式 (0644)。
理解数字值
权限可以用数字表示:
- 读取 = 4
- 写入 = 2
- 执行 = 1
将它们相加得到权限值:
- rw- = 6
- r-x = 5
- rwx = 7
因此 0644 = 所有者:6(读取/写入),组:4(读取),其他人:4(读取)。
目录的权限
对于目录,规则稍有不同:
- r → 列出文件名称。
- w → 创建或删除文件(如果 x 也被设置)。
- x → 进入目录。
示例:
在这里,所有者拥有完全权限,组可以读取/进入,而其他人没有访问权限。
特殊权限位
Linux 还支持高级权限:
- setuid (s) → 以所有者的权限运行文件。
- setgid (s) → 以组的权限运行文件。
- 粘滞位 (t) → 在目录中,只有文件所有者可以删除他们的文件(常见于 /tmp)。
示例:
末尾的 t 表示粘滞位。
快速参考表
| 符号 | 数字 | 含义(文件) | 含义(目录) |
|---|---|---|---|
| — | 0 | 无访问权限 | 无访问权限 |
| –x | 1 | 执行 | 进入 |
| -w- | 2 | 写入 | 创建/删除(带 x) |
| -wx | 3 | 写入 + 执行 | 修改 + 进入 |
| r– | 4 | 读取 | 列出名称(带 x) |
| r-x | 5 | 读取 + 执行 | 列出 + 进入 |
| rw- | 6 | 读取 + 写入 | 查看 + 修改内容 |
| rwx | 7 | 完全访问 | 完全控制 |
你常见的示例
- -rw-r–r– (0644) → 所有者可以读取/写入;其他人只能读取。
- -rwxr-xr-x (0755) → 所有者可以做任何事情;其他人可以运行但不能修改。
- drwxrwxrwt (1777) → 可写的世界目录,带有粘滞位(如 /tmp)。
结论
要检查 Linux 中的文件权限:
- 使用 ls -l 快速查看。
- 使用 stat 获取详细输出。
- 学习读取符号 (rwx) 和数字 (755, 644) 表示法。
- 记住目录遵循相同的规则,但对 x 的解释不同。
一旦你理解了这些基础知识,权限就成为 Linux 安全中强大且易于阅读的一部分。
