chmod命令的数字模式通过三位或四位八进制数设置权限;1. 每位数字对应用户(owner)、组(group)、其他用户(others)的权限,由r=4、w=2、x=1相加得出;2. 常见组合如7(rwx)、6(rw-)、5(r-x)、4(r–)、0(—);3. 例如chmod 755 file表示所有者有读写执行权限,组和其他人有读和执行权限;4. 特殊权限位为四位数时使用,4代表suid、2代表sgid、1代表sticky bit;5. 使用ls -l可查看权限,修改时需确保数字在0-7之间并注意安全性,理解权限数值规则后设置直观高效。
在 linux 系统中,
chmod
命令用于修改文件或目录的权限。权限可以通过两种方式设置:数字符号模式(也叫八进制模式) 和 符号模式(如 u+rwx)。本文重点介绍如何使用 数字符号模式(即数字方式) 来修改文件权限。
一、理解 chmod 数字模式的原理
在数字模式中,权限用三位或四位的八进制数表示,每一位代表不同用户类别的权限:
- 用户(Owner)
- 组(Group)
- 其他用户(Others)
每个类别的权限由三个基本权限组合而成:
权限 | 读(r) | 写(w) | 执行(x) |
---|---|---|---|
数值 | 4 | 2 | 1 |
将权限对应的数值相加,即可得到该类用户的权限数字。
例如:
-
rwx
= 4 + 2 + 1 = 7
-
rw-
= 4 + 2 + 0 = 6
-
r-x
= 4 + 0 + 1 = 5
-
r--
= 4 + 0 + 0 = 4
二、常见权限数字组合示例
数字 | 权限 | 说明 |
---|---|---|
7 | rwx | 可读、可写、可执行 |
6 | rw- | 可读、可写,不可执行 |
5 | r-x | 可读、不可写、可执行 |
4 | r– | 只读 |
0 | — | 无权限 |
因此,三位数字分别代表:
- 第一位:文件所有者的权限(user)
- 第二位:所属组的权限(group)
- 第三位:其他用户的权限(others)
例如:
chmod 755 filename
表示:
- 所有者:rwx(7)
- 组用户:r-x(5)
- 其他人:r-x(5)
三、实际使用示例
假设你有一个脚本文件
backup.sh
,希望:
- 自己(所有者)可以读、写、执行
- 组内用户可以读和执行
- 其他人只能读和执行
对应权限:
- 所有者:rwx = 7
- 组:r-x = 5
- 其他:r-x = 5
执行命令:
chmod 755 backup.sh
再比如,一个配置文件
config.txt
,只允许所有者读写,组和其他人没有任何权限:
chmod 600 config.txt
- 所有者:rw- = 6
- 组:— = 0
- 其他人:— = 0
四、特殊权限位(可选了解)
除了三位权限,有时会看到四位数字,如
chmod 4755
,第一位是特殊权限位:
- 4 = SUID(执行时以文件所有者身份运行)
- 2 = SGID(执行时以组身份运行,或目录中新文件继承组)
- 1 = Sticky Bit(仅允许文件所有者删除自己的文件,常用于
/tmp
)
例如:
chmod 4755 program
表示设置了 SUID,权限为
rwsr-xr-x
五、注意事项
-
使用数字模式时,确保数字在 0-7 之间,否则会报错。
-
修改权限时注意安全,不要随意给脚本或敏感文件赋予执行或写权限。
-
可用
ls -l
查看当前权限:
ls -l filename
输出示例:
-rwxr-xr-x 1 user group 1234 Apr 5 10:00 filename
基本上就这些。数字模式简洁高效,适合快速设置权限,理解了 r=4, w=2, x=1 的规则后,组合起来非常直观。