一、前言¶
Linux 权限是系统管理中的基础能力,它决定了谁能访问文件或目录,以及能够执行什么操作。理解权限模型后,后续学习文件权限、目录权限和特殊权限都会更加清晰。
二、了解 Linux 权限¶
2.1 权限类型¶
在 Linux 中,权限主要分为三种:
- 读权限(r):允许用户查看文件内容。
- 写权限(w):允许用户修改文件内容。
- 执行权限(x):适用于命令、脚本或可执行文件,允许用户运行其中的程序。
2.2 用户类别¶
Linux 中任何一个文件或目录,与用户之间通常有 3 种权限关系:
- 文件所有者(User):文件的创建者或属主,通常拥有最高优先级的访问权限。
- 用户组(Group):可以包含多个用户,共享特定文件的权限。
- 其他用户(Others):既不是文件所有者,也不属于该文件所属用户组的其他系统用户。
2.3 权限表示方式¶
文件权限通常使用 9 个字符表示,例如 -rwxr-xr--。这串字符可以按下面的方式理解:
- 第 1 个字符表示文件类型,常见的
-表示普通文件,d表示目录。 - 第 2 到第 4 个字符表示文件所有者的权限。
- 第 5 到第 7 个字符表示用户组的权限。
- 第 8 到第 10 个字符表示其他用户的权限。

2.4 权限计算方式¶
每种权限都可以用一个数字表示,组合后就形成了我们常见的三位数字权限。
| 权限 | 含义 | 权限对应的数字 |
|---|---|---|
| r | read,是否可读 | 4 |
| w | write,是否可写 | 2 |
| x | execute,是否可执行(命令或脚本) | 1 |
| - | 没有权限 | 0 |
例如:
7 = 4 + 2 + 1,表示rwx5 = 4 + 1,表示r-x4 = 4,表示r--
三、系统默认权限与 umask¶
Linux 通过 umask 命令控制新建文件和目录的默认权限。通常可以这样理解:
- 文件的最大默认权限是
666 - 目录的最大默认权限是
777 - 实际默认权限 = 最大默认权限 -
umask - 常见默认
umask值为022
需要注意的是,普通文件默认不会直接带执行权限,因此在文件权限计算场景中,如果某一位 umask 是奇数,往往还需要结合文件默认不赋予执行位这一规则来理解最终结果。
| 分类 | 默认权限 |
|---|---|
| 文件 | 644 |
| 目录 | 755 |
查看默认 umask:
$ umask
0022
设置 umask 值为 012:
$ umask 012
四、小结¶
学习 Linux 权限时,建议先记住三件事:
- 权限本质上就是
r、w、x的组合。 - 权限判断一定要区分所有者、用户组和其他用户。
- 数字权限、字符权限和
umask之间是可以互相对应理解的。