📖 知识点
1. 什么是 chmod?
chmod = change mode(修改模式),用来修改文件的权限。最常用的是数字法,用三个数字分别代表 "属主、属组、其他人" 的权限。
💡 生活比喻chmod 数字法就像 "配钥匙":一个三位数(如 755)就是三套钥匙的规格,一套给主人、一套给家人、一套给外人,写一次三套都配好。
2. 数字的含义
每个权限对应一个数字:
| 权限 | 数字 |
|---|---|
| 读 r | 4 |
| 写 w | 2 |
| 执行 x | 1 |
每一组权限 = 三个数字相加:
rwx= 4+2+1 = 7(可读可写可执行)rw-= 4+2+0 = 6(可读可写)r-x= 4+0+1 = 5(可读可执行)r--= 4+0+0 = 4(只读)
3. 常见权限组合
| 数字 | 权限 | 用途 |
|---|---|---|
| rwxrwxrwx | 所有人可读写执行(危险,少用) |
| rwxr-xr-x | 属主全权限,其他人只读执行(脚本常用) |
| rw-r--r-- | 属主读写,其他人只读(普通文件常用) |
4. 基本用法
chmod 755 脚本.sh # 把脚本设成755
chmod 644 报告.txt # 把报告设成644
chmod 777 目录名 # 危险,慎重
改完用 ls -l 验证权限是否变化:
chmod 600 笔记.txt
ls -l 笔记.txt # 应显示 -rw-------
⚠️ 易错提醒
数字法三个数字顺序固定:属主、属组、其他人
777让所有人都能改你的文件,有安全风险,别随意用普通文件常用
644,脚本 / 程序常用755;改完用ls -l确认
⚔️ Kata 实战任务
任务需求:
回家,创建 "脚本.sh" 和 "报告.txt"
用
chmod 755给脚本设置权限(可执行)用
chmod 644给报告设置权限用
ls -l查看修改后的权限串对比改前改后的差异
参考代码(在终端依次敲)
# 回家,准备文件
cd ~
touch 脚本.sh 报告.txt
# 改前权限
echo "---- 修改前 ----"
ls -l 脚本.sh 报告.txt
# 给脚本设755(属主可执行),报告设644
chmod 755 脚本.sh
chmod 644 报告.txt
# 改后权限
echo "---- 修改后 ----"
ls -l 脚本.sh 报告.txt
运行示例:
user@linux:~$ ls -l 脚本.sh 报告.txt
-rw-r--r-- 1 user user 0 Oct 23 10:00 报告.txt
-rw-r--r-- 1 user user 0 Oct 23 10:00 脚本.sh
user@linux:~$ chmod 755 脚本.sh
user@linux:~$ chmod 644 报告.txt
user@linux:~$ ls -l 脚本.sh 报告.txt
-rw-r--r-- 1 user user 0 Oct 23 10:00 报告.txt
-rwxr-xr-x 1 user user 0 Oct 23 10:00 脚本.sh
💡 观察:
脚本.sh从rw-r--r--(644)变成rwxr-xr-x(755),属主多了x执行权限,可以运行了;报告.txt保持 644 普通文件权限。
🧠 思考题
数字
7、6、5、4分别代表哪组权限?chmod 755里三个数字分别给谁?为什么普通文件常用
644、脚本常用755?777为什么被认为有风险?
行者孙Python