跳转到主要内容
模块 4 · 第 1 课(共 2)课程中的8/11~12 min
模块课程(1/2)

管理权限(chmod)

在 Linux 中,对文件和目录的访问由权限系统控制。每个文件/目录都属于一个所有者用户和一个用户组。

权限分为三类接收者:

  1. 用户(u):文件的所有者。
  2. 组 (g):与文件关联的组的成员。
  3. 其他 (o):系统上的其他人。

对于每个类别,允许或拒绝三种类型的操作:

  • 读取(r):查看文件内容或列出目录内容。
  • 写入 (w):编辑文件或在目录中创建/删除文件。
  • 执行(x):运行文件(例如脚本)或进入目录。

ls -l 显示的典型符号:-rwxr-xr-x。 第一个字符表示类型(例如,- 表示文件,d 表示目录),后跟三个三元组,分别表示 user、group 和 others。


更改权限:chmod

chmod(更改模式)命令允许您修改文件权限。有两种主要方法来指定它们:

1. 符号模式

使用字母和运算符(+、-、=)来添加、删除或设置权限:

Bash
chmod u+x script.sh    # Adds execute permission (x) to the owner (u)
chmod g-w file.txt     # Removes write permission (w) from the group (g)
chmod a+r file.txt     # Makes the file readable by everyone (all: u, g, o)

2. 八进制模式(数字)

使用从 0 到 7 的三个八进制数字,其中每个数字代表类别权限的总和(r=4、w=2、x=1):

  • 7 = rwx (4 + 2 + 1)
  • 6 = rw- (4 + 2)
  • 5 = r-x (4 + 1)
  • 4 = r-- (4)
  • 0 = --- (无权限)
Bash
chmod 755 script.sh    # Owner: rwx (7), Group: r-x (5), Others: r-x (5)
chmod 600 private.key  # Owner: rw- (6), Group: --- (0), Others: --- (0)

自己尝试一下

练习 1:设置标准权限

锻炼#linux.m4.l1.e1
尝试:0加载中...

设置“script.sh”的权限,使所有者可以读取、写入和执行(rwx),而组和其他人只能读取和执行(r-x)。使用八进制模式。

正在加载编辑器...
显示提示

rwx 的八进制代码是 7 (4+2+1),r-x 的八进制代码是 5 (4+1)。因此使用 chmod 755。

3 次尝试后可用的解决方案

练习 2:保护私钥

锻炼#linux.m4.l1.e2
尝试:0加载中...

修改文件“private.key”的权限,使其只能由所有者读取和写入(rw-),删除组和其他人的所有访问权限(---)。

正在加载编辑器...
显示提示

使用八进制代码 600 的 chmod(所有者有 4+2,组 0,其他 0)。

3 次尝试后可用的解决方案

练习 3:使文件对所有人可执行

锻炼#linux.m4.l1.e3
尝试:0加载中...

使用符号模式 (a+x) 使文件“runner.sh”对所有用户类别可执行。

正在加载编辑器...
显示提示

使用语法 chmod a+x 后跟文件名。

3 次尝试后可用的解决方案