linux权限是linux操作系统用于控制不同用户或用户组对文件、目录等资源访问行为的规则集合,它通过明确的权限划分,避免未授权的用户修改、删除或访问敏感资源,是linux系统多用户环境下安全运行的核心保障。

linux权限的基本类型
linux系统中针对文件或目录的权限主要分为三类,分别对应不同的操作能力:
- 读权限(r):针对文件时,允许查看文件内容;针对目录时,允许列出目录下的文件列表。
- 写权限(w):针对文件时,允许修改、删除文件内容;针对目录时,允许在目录下创建、删除、重命名文件。
- 执行权限(x):针对文件时,允许将文件作为程序或脚本运行;针对目录时,允许进入该目录。
权限的归属与显示规则
每个文件或目录的权限都会对应三个不同的归属主体,分别是文件所有者(user)、文件所属组(group)以及其他用户(others)。我们可以通过ls -l命令查看具体的权限信息,示例如下:
# 执行ls -l命令查看文件权限 ls -l test.txt # 输出结果示例:-rw-r--r-- 1 root root 1024 1月 1 10:00 test.txt
上述输出中,第一个字段-rw-r--r--就是权限信息,第一位-表示这是一个普通文件(如果是d则表示目录),后面9位每3位为一组,分别对应所有者、所属组、其他用户的权限,其中r代表读权限,w代表写权限,x代表执行权限,没有对应权限的位置用-占位。
权限的数字表示方式
除了字母表示法,linux权限还支持用数字表示,每种权限对应固定的数值:读权限对应4,写权限对应2,执行权限对应1,每组权限的数值为对应权限数值之和。常见的权限数字组合如下:
| 权限字母表示 | 数字表示 | 含义 |
|---|---|---|
| rwx | 7 | 读、写、执行权限都有 |
| rw- | 6 | 有读、写权限,无执行权限 |
| r-x | 5 | 有读、执行权限,无写权限 |
| r-- | 4 | 仅有读权限 |
权限的配置与默认规则
我们可以通过chmod命令修改文件或目录的权限,支持字母法和数字法两种配置方式,示例如下:
# 数字法:给test.txt文件设置所有者读写执行,所属组读执行,其他用户读权限 chmod 754 test.txt # 字母法:给test.txt的所属组添加写权限 chmod g+w test.txt
另外,linux系统创建新文件或目录时会有默认权限,这个默认权限由umask值决定。默认情况下,文件的最大权限是666,目录的最大权限是777,实际权限等于最大权限减去umask值。我们可以通过umask命令查看或修改默认的umask值:
# 查看当前umask值 umask # 输出示例:0022 # 修改umask值为0002,此时新建文件的默认权限为664,目录默认权限为775 umask 0002
权限相关的注意事项
在实际使用linux权限时,需要注意几个常见问题:一是目录的执行权限是进入目录的必要条件,如果没有目录的执行权限,即使有读权限也无法列出目录下的文件;二是修改文件权限时,需要确保当前用户是文件的所有者或者root用户,否则会提示权限不足;三是不要随意给普通文件设置执行权限,避免带来安全风险,尤其是来源不明的文件。