Linux chmod权限速成指南
🌟 一、一句话概括
chmod是用来设置“谁可以读、写、执行一个文件”的命令。它把权限分成三类人(所有者、组、其他人),每类人可以用数字组合(如 4=读, 2=写, 1=执行)来精确控制权限,比如chmod 755 file表示:主人全权,别人只能看和运行。
🧩 二、核心概念拆解
1. 为什么要设置权限?
想象一下:
- 你的日记本 → 只有你能看(读)和写
- 公司合同 → 财务组可以改,其他人只能看
- 一个程序(比如游戏)→ 大家都能运行,但不能乱改
✅ Linux 就是这样设计的:不同的文件,给不同的人不同的访问权限,保证安全和秩序。
👥 三、三类用户(User Types)
当你设置权限时,你要为 三类人 分别设置:
| 类型 | 英文 | 说明 |
|---|---|---|
| 所有者 | Owner | 文件是谁创建的?就是谁(比如你 bob) |
| 所属组 | Group | 这个文件属于哪个团队?比如 developers 组 |
| 其他人 | World / Others | 不是主人、也不在组里的所有人(全世界) |
📌 类比:
就像一间办公室:
- Owner = 房间钥匙持有者(你)
- Group = 同事(可以进你房间)
- Others = 外人(只能在门口看一眼)
🔐 四、三种权限(Permissions)
每类人可以拥有以下一种或多种权限:
| 权限 | 字母 | 数字 | 含义 |
|---|---|---|---|
| 读 | r | 4 | 可以查看文件内容(打开、读取) |
| 写 | w | 2 | 可以修改文件内容(编辑、删除、重命名) |
| 执行 | x | 1 | 可以运行这个文件(如果是程序、脚本) |
⚠️ 注意:对目录来说,“执行”意味着“可以进入这个目录”。
🧮 五、数字是怎么来的?——八进制权限系统
这是最让人困惑的部分:为什么是 755?644?
✅ 原理:把权限变成“加法题”
每个权限有一个数字:
r= 4w= 2x= 1
你可以把它们相加,得到组合权限:
| 组合 | 数字 | 说明 |
|---|---|---|
r | 4 | 只读 |
w | 2 | 只写 |
x | 1 | 只执行 |
rw | 4+2 = 6 | 可读可写 |
rx | 4+1 = 5 | 可读可执行 |
wx | 2+1 = 3 | 可写可执行 |
rwx | 4+2+1 = 7 | 全部权限 |
📐 六、chmod 的完整结构
chmod Owner Group World 文件名7 5 5 myfile.txt
👉 所以 chmod 755 myfile.txt 的意思是:
| 用户类型 | 权限数字 | 对应权限 | 含义 |
|---|---|---|---|
| Owner(主人) | 7 | rwx | 可读、可写、可执行 |
| Group(组) | 5 | r-x | 可读、可执行(不能写) |
| Others(其他人) | 5 | r-x | 可读、可执行(不能写) |
🔍 七、看懂 ls -l 的权限输出
运行:
ls -l myDoc.txt
输出:
-rw-r--r-- 1 gcawood iqnection 382 Dec 19 6:49 myDoc.txt
✅ 解读:
- 第一个字符
-:表示是普通文件(d表示目录) - 接下来 9 个字符分三组:
rw-→ Owner:读 + 写(= 6)r--→ Group:只读(= 4)r--→ Others:只读(= 4)
- 所以这个文件的权限是 644
📌 等价命令:
chmod 644 myDoc.txt
🛠 八、常用权限组合示例
| 命令 | 权限 | 用途说明 |
|---|---|---|
chmod 644 file.txt | rw-r–r– | 文本文件:主人可改,别人只能看 |
chmod 755 script.sh | rwxr-xr-x | 脚本/程序:主人都能干,别人能运行但不能改 |
chmod 600 private.key | rw------- | 私密文件(如密钥):只有主人能读写 |
chmod 700 backup.sh | rwx------ | 私人脚本:只有主人能运行和修改 |
chmod 777 dangerous.txt | rwxrwxrwx | 所有人全权!非常危险,慎用! |
⚠️ 作者提醒:
“永远不要轻易设置 777,除非你真的知道你在做什么。”
因为这意味着任何人(包括黑客、病毒)都可以修改或执行这个文件!
🎯 九、权限设置最佳实践
| 场景 | 推荐权限 | 原因 |
|---|---|---|
| 普通文档、配置文件 | 644 | 主人可改,别人只读 |
| 可执行脚本、程序 | 755 | 主人可改,别人可运行 |
| 密钥、密码文件 | 600 | 只有主人能访问 |
网站目录(如 /var/www) | 755 for dirs, 644 for files | 安全且 Web 服务器能读取 |
| 上传目录(需写入) | 755 或 775(如果组内共享) | 避免 777! |
💡 十、额外小知识:符号模式(可选)
除了数字,你也可以用“符号”方式设置权限:
chmod u+x script.sh # 给主人(u)添加执行(x)权限
chmod g-w file.txt # 去掉组(g)的写(w)权限
chmod o=r file.txt # 其他人(o)只有读(r)权限
u= user(owner)g= groupo= othersa= all(所有人)
✅ 十一、总结:chmod 核心口诀
🔢 三位数字,三人权限;
🔤 4读2写1执行,加起来就是权限码;
🚫 777很爽但很危险,644和755最常见。
🧠 最后一句话理解全文:
chmod就像给文件上了一把“三把锁”的保险箱:第一把锁(主人)、第二把锁(团队)、第三把锁(外人),你可以用数字(421)组合决定每个人能“看”(读)、“改”(写)、还是“用”(执行)。掌握它,你就掌握了 Linux 安全的第一道防线。
现在你已经理解了 chmod,下次看到 755 或 644,就不会再懵了!💪
