跳转至

四、门禁卡:权限与所有者

第 6 课 · 2026-08-22(08-29 又重学了一遍)

这是我唯一一课主动要求重学的——第一次听完还是糊的,重学之后才算真懂了。

为什么要管权限

起因是个真实问题:我上传到服务器的文件,网页却读不出来

明明文件在那儿,ls 也看得见,nginx 却说「没权限」。这就是权限没配对的典型症状。

读懂 ls -l 的第一列

ls -l
-rw-------  1 admin admin  6946 Aug 30 11:39 账本.txt

第一列那串 -rw-------,拆开看是这样:

-   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,当时不理解,老师讲清楚了两点:

  1. 7(所有者):我有全部权限,能读写进出
  2. 5(同组)nginx 用户在这个组里,所以它能读、能进——这就是网页能取到文件的原因
  3. 0(外人):其他用户一概不许碰

关键在这:权限不是「越高越好」。设 777 的话谁都能读写,等于门禁卡全撕了;设 700 的话 nginx 读不到,网页就打不开。750 是刚好够用的那个数

这一步的心得

权限这一课让我第一次意识到:

服务器上的「看不见」往往不是文件不存在,而是没给对钥匙

后来再遇到「明明有文件但读不到」,我第一反应就是去看权限,而不是怀疑文件丢了。

动手做过的事

  • ls -l 逐列拆解自己财务目录的权限串
  • 亲手改过 chmod 600(机密文件)和 644(普通文件)
  • 心算 755、600 分别对应什么

⚠️ 顺带记下的危险项

命令 为什么危险
chmod 777 门禁卡全撕了,谁都进得去
chown 敲错对象 换错房东,可能让服务读不到文件