chmod命令的使用

605 词

文章封面: last bride by: YOAFERIA

chmod 是一个修改文件或文件夹权限的命令。它将为所有用户(文件所有者、同组用户和其他用户)添加读写和执行的权限。

文件权限示例

1
2
3
4
5
- rwx rwx rwx     # 原始权限
| | |
| | +-- 其他用户权限
| +------ 同组用户权限
+---------- 文件所有者权限
每一位权限字符都有特定的含义:
  • r 表示读权限
  • w 表示写权限
  • x 表示执行权限
  • - 表示没有对应权限

所以,如果一个文件权限是 rw-r–r–,表示文件所有者具有读写权限,同组用户和其他用户只有读权限。

下面是一些常见的文件权限示例及其对应的字符表示:
  • rwxr-xr-x : 755
  • rw-rw-r-- : 664
  • rwx------ : 700
  • rw-r--r-- : 644
  • rwxrwxrwx : 777

chmod 命令的语法

1
chmod [权限] 文件名/目录名

其中,[权限] 表示你想要为文件或目录设置的新权限,可以使用数字模式或符号模式来表示权限。具体用法如下:

数字模式
1
chmod [0-7][0-7][0-7] 文件名/目录名
权限 数字
--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 7

每个数字代表一组权限,三个数字分别对应文件所有者、同组用户和其他用户的权限。每个数字都由三个二进制位组成,每个二进制位表示一个权限(读、写、执行)。

例如,数字”755”表示文件所有者具有读、写、执行权限,同组用户和其他用户具有读、执行权限。数字”644”表示文件所有者具有读、写权限,同组用户和其他用户只有读权限。

符号模式
1
chmod [ugoa][+-=][rwx] 文件名/目录名

u 表示文件所有者,g 表示同组用户,o 表示其他用户,a 表示所有用户(等价于 ugo 的组合)。
+ 表示添加权限,- 表示移除权限,= 表示设置与指定权限相同的权限。
r 表示读取权限,w 表示写入权限,x 表示执行权限。

例如,命令 chmod u+x filename 会为文件所有者添加执行权限,命令 chmod a-wx filename 则会移除所有用户的写入和执行权限。

更加详细请查看:第 5 章 用户身份与文件权限linux 的特殊权限

留言