公众号旧文
一张图片看懂 Linux 权限

上面这张图片,展示的是 Linux 中最常见的一条命令输出:
ls -l
它的作用是以详细格式列出文件信息。
一行信息,包含了文件的身份、权限、归属、大小、时间等关键内容。
下面我们逐项拆解。
一、最左侧:文件类型 + 权限
示例:
drwxr-xr-x
-rw-r--r--
这一段一共 10 个字符,可以分成 4 部分:
1️⃣ 第 1 位:文件类型
| 字符 | 含义 |
|---|---|
| d | 目录(文件夹) |
| - | 普通文件 |
例如:
d → 这是一个目录- → 这是一个文件
2️⃣ 后 9 位:权限(分三组)
结构:
rwx r-x r--
| 位置 | 含义 |
|---|---|
| 第1组 | 用户权限(owner) |
| 第2组 | 组权限(group) |
| 第3组 | 其他人权限(others) |
3️⃣ 每个字母的含义
| 字母 | 含义 |
|---|---|
| r | 可读(read) |
| w | 可写(write) |
| x | 可执行(execute) |
| - | 没有该权限 |
4️⃣ 举个完整例子
-rw-r--r--
解释:
- → 普通文件rw- → 所有者:可读 + 可写r-- → 同组用户:只读r-- → 其他人:只读
一句话总结:只有文件主人能改,其他人只能看。
二、中间部分:文件身份信息
接下来这一段:
1 shum staff
5️⃣ 硬链接数量(number of hard links)
示例:1
表示这个文件有几个硬链接(可以理解为有几个入口指向它)
一般:
- 文件 → 通常是 1
- 目录 → 会大于 1
6️⃣ 用户名(user / owner)
示例:shum
文件属于哪个用户(谁创建的)
7️⃣ 用户组(group)
示例:staff
文件属于哪个用户组
三、右侧信息:文件属性
8️⃣ 文件大小(size)
4096
单位是字节(B)
9️⃣ 修改时间(date/time last modified)
Jan 16 22:04
文件最后一次被修改的时间
🔟 文件名(filename)
mail
文件或目录的名字
四、整行完整拆解
来看一整行:
drwxr-xr-x 2 shum staff 4096 Jan 16 22:04 mail
| 部分 | 含义 |
|---|---|
| d | 目录 |
| rwx | 所有者:可读可写可执行 |
| r-x | 组:可读可执行 |
| r-x | 其他人:可读可执行 |
| 2 | 硬链接数 |
| shum | 所有者 |
| staff | 所属组 |
| 4096 | 大小 |
| Jan 16 22:04 | 修改时间 |
| 文件名 |
Linux 用一行信息,描述了一个文件的完整权限模型。
包括:
- 文件是什么(类型)
- 谁能操作(用户 / 组 / 其他人)
- 能做什么(读 / 写 / 执行)
- 属于谁(用户 + 组)
- 什么时候改过(时间)
- 有多大(大小)