模块 4 · 第 1 课(共 2)课程中的8/11~12 min
模块课程(1/2)
管理权限(chmod)
在 Linux 中,对文件和目录的访问由权限系统控制。每个文件/目录都属于一个所有者用户和一个用户组。
权限分为三类接收者:
- 用户(u):文件的所有者。
- 组 (g):与文件关联的组的成员。
- 其他 (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 次尝试后可用的解决方案