四、门禁卡:权限与所有者
第 6 课 · 2026-08-22(08-29 又重学了一遍)
这是我唯一一课主动要求重学的——第一次听完还是糊的,重学之后才算真懂了。
为什么要管权限
起因是个真实问题:我上传到服务器的文件,网页却读不出来。
明明文件在那儿,ls 也看得见,nginx 却说「没权限」。这就是权限没配对的典型症状。
读懂 ls -l 的第一列
第一列那串 -rw-------,拆开看是这样:
- 第 1 位:
-是普通文件,d是目录 - 后面每 3 位一组:读(r) / 写(w) / 执行(x)
- 三组分别是:文件所有者 / 同组用户 / 其他所有人
数字记法(必背)
读 = 4,写 = 2,执行 = 1,每组加起来。
| 数字 | 组成 | 意思 |
|---|---|---|
6 |
4+2 | 读 + 写 |
7 |
4+2+1 | 全开 |
5 |
4+1 | 读 + 执行 |
4 |
4 | 只读 |
记住三件套就够了:
| 写法 | 用在哪 |
|---|---|
600 |
机密文件(只有我能读能写) |
644 |
普通文件(我能改,别人只能看) |
755 |
目录 / 程序(我能进能改,别人只能看和进) |
两个命令
| 命令 | 干什么 | 例子 |
|---|---|---|
chmod |
换锁(改权限) | chmod 600 文件 |
chown |
换房东(改所有者) | chown 新用户 文件 |
真实案例:为什么上传目录是 750
我的知识库上传目录设的是 750,当时不理解,老师讲清楚了两点:
- 7(所有者):我有全部权限,能读写进出
- 5(同组):nginx 用户在这个组里,所以它能读、能进——这就是网页能取到文件的原因
- 0(外人):其他用户一概不许碰
关键在这:权限不是「越高越好」。设 777 的话谁都能读写,等于门禁卡全撕了;设 700 的话 nginx 读不到,网页就打不开。750 是刚好够用的那个数。
这一步的心得
权限这一课让我第一次意识到:
服务器上的「看不见」往往不是文件不存在,而是没给对钥匙。
后来再遇到「明明有文件但读不到」,我第一反应就是去看权限,而不是怀疑文件丢了。
动手做过的事
- 用
ls -l逐列拆解自己财务目录的权限串 - 亲手改过
chmod 600(机密文件)和644(普通文件) - 心算 755、600 分别对应什么
⚠️ 顺带记下的危险项
| 命令 | 为什么危险 |
|---|---|
chmod 777 |
门禁卡全撕了,谁都进得去 |
chown 敲错对象 |
换错房东,可能让服务读不到文件 |