理解 drwxr-xr-x 是掌握 Linux 权限系统的关键。下面我将详细解释这个权限字符串的每个组成部分,以及它对应的数字表示:
完整权限字符串解析
drwxr-xr-x 由 10 个字符组成,分为两个部分:
-
第 1 位:文件类型标识符
-
d= 这是一个目录 (directory) -
其他常见类型:
-= 普通文件l= 符号链接c= 字符设备文件b= 块设备文件
-
-
后 9 位:权限三元组
-
每 3 位为一组,分别表示:
text
rwx r-x r-x ├─┬─┘ ├─┬─┘ ├─┬─┘ │ │ │ │ │ └─ 其他用户权限 (others) │ │ │ └───┴─── 所属组权限 (group) │ └───┴─────── 所有者权限 (owner)
-
权限三元组详解
| 位置 | 权限组 | 字符 | 含义 | 数字值 |
|---|---|---|---|---|
| 2-4 | 所有者 | r | 读权限 (Read) | 4 |
w | 写权限 (Write) | 2 | ||
x | 执行权限 (eXecute) | 1 | ||
| 5-7 | 所属组 | r | 读权限 | 4 |
- | 无写权限 | 0 | ||
x | 执行权限 | 1 | ||
| 8-10 | 其他用户 | r | 读权限 | 4 |
- | 无写权限 | 0 | ||
x | 执行权限 | 1 |
当前权限分析:drwxr-xr-x
-
所有者权限 (rwx) :
- 读 + 写 + 执行 = 7 (4+2+1)
- 可以:查看目录内容、创建/删除文件、进入目录
-
所属组权限 (r-x) :
- 读 + 执行 = 5 (4+0+1)
- 可以:查看目录内容、进入目录
- 不能:创建/删除文件
-
其他用户权限 (r-x) :
- 读 + 执行 = 5 (4+0+1)
- 可以:查看目录内容、进入目录
- 不能:创建/删除文件
数字权限表示
-
完整权限:
rwxr-xr-x= 755- 所有者:7 = 4+2+1
- 所属组:5 = 4+0+1
- 其他用户:5 = 4+0+1
目录权限的特殊含义
| 权限 | 对目录的影响 |
|---|---|
r (读) | 可列出目录内容 (ls 命令) |
w (写) | 可创建/删除文件 (需配合 x 权限) |
x (执行) | 可进入目录 (cd 命令) |
📌 关键规则:目录的写权限 (
w) 必须配合执行权限 (x) 才能生效。没有x权限时,w权限是无效的。
完整示例解析
drwxr-xr-x 2 www-data www-data 4096 Jan 1 12:34 myapp
| 部分 | 含义 |
|---|---|
drwxr-xr-x | 目录,权限 755 |
2 | 硬链接数量(目录包含 . 和 .. 两个默认链接) |
www-data | 所有者是 www-data 用户 |
www-data | 所属组是 www-data 组 |
4096 | 目录元数据大小(非内容大小) |
Jan 1 12:34 | 最后修改时间 |
myapp | 目录名称 |
权限的实际影响
假设你是用户 deployer:
-
如果你是所有者 (
www-data) :- 可以自由操作目录(创建/删除文件)
-
如果你在
www-data组:- 可以
cd myapp和ls查看内容 - 不能 创建/删除文件
- 可以
-
如果你是其他用户:
- 可以
cd myapp和ls查看内容 - 不能 创建/删除文件
- 可以
生产环境最佳实践
bash
# Web 目录典型权限
sudo chown -R www-data:www-data /var/www # 设置所有者
sudo chmod -R 755 /var/www # 设置权限
# 敏感文件权限
chmod 700 ~/.ssh # 仅所有者可访问
chmod 600 ~/.ssh/id_rsa # 仅所有者可读写
通过理解 drwxr-xr-x 的含义,你可以精准控制 Linux 系统的文件访问权限,这是系统管理和安全配置的基础技能。