看懂 Linux 文件权限:rwx、chmod 数字模式 755/644 与符号模式
把 Linux 文件权限讲到一看就懂:rwx 读写执行各占多少分、属主属组其他三类身份怎么分、chmod 755 和 644 到底什么含义,还有符号模式和常见场景怎么选。
看懂 Linux 文件权限:rwx、chmod 数字模式与符号模式
第一次在终端里敲 chmod 755 的时候,我是照着别人贴的命令抄的,根本不知道这个 755 是怎么来的。直到有一次 SSH 私钥报 "Permissions 0644 are too open",我才被逼着把这套规则真正搞明白。结果发现它一点都不玄,三个数字、九个权限位,半小时就能彻底吃透。这篇就按我自己当年走过的弯路,把它讲清楚。
三类身份:属主、属组、其他人
每个 Linux 文件或目录都记着三类身份的权限:属主 (owner,文件的拥有者)、属组 (group,拥有者所在的组)、其他人 (others,剩下所有人)。chmod 755 里的三个数字,正好按这个顺序对应:第一位 7 给属主,第二位 5 给属组,第三位 5 给其他人。
为什么要分三类?因为现实里需求就是分层的。一个脚本,你自己要能改能跑,同组同事能跑就行,陌生人最好连看都看不到。三类身份各给一份权限,刚好覆盖这种分层。
rwx 读写执行:每个权限值多少分
每一类身份的权限,又由三个位组成:读 (r)、写 (w)、执行 (x)。把它们当成二进制的三盏灯,亮的就累加:
- 读 r = 4
- 写 w = 2
- 执行 x = 1
所以一位数字最大就是 4 + 2 + 1 = 7,代表读写执行全开。常见的几个组合:
- 7 = 4 + 2 + 1 = 读、写、执行
- 6 = 4 + 2 = 读、写 (不能执行)
- 5 = 4 + 1 = 读、执行 (不能写)
- 4 = 只读
- 0 = 什么都不行
回头看 755:属主 7 是读写执行全有,属组和其他人都是 5,即可读可执行但不能写。这就是脚本和目录最常用的默认值。再看 644:属主 6 是可读可写,属组和其他人 4 是只读,普通文档、配置文件就该是这个。
数字模式与符号模式:同一件事的两种写法
数字模式 (octal) 就是上面那三位八进制,比如 chmod 644 config.yaml。简洁,适合一口气把权限钉死。
符号模式是另一种写法,直接说"给谁加减哪个位",比如 chmod u+x deploy.sh 是给属主加执行位,chmod go-w file 是把属组和其他人的写位去掉 (u 属主、g 属组、o 其他人、a 全部)。它适合"只改一个位、别动其他"的场景。
而 ls -l 列出来的那一长串,是第三种展示形式。给一个真实例子:
-rwxr-xr-x 1 lilei staff 812 6月 13 deploy.sh
开头那 10 个字符里,第一个 - 表示这是普通文件 (目录会是 d),后面九个 rwxr-xr-x 三个一组:属主 rwx、属组 r-x、其他人 r-x。换算回数字:rwx = 4+2+1 = 7,r-x = 4+0+1 = 5,r-x = 5,合起来正好是 755。三种写法说的是同一件事,能在脑子里互转,看日志和写命令就都不卡了。如果想验算或者反查,可以直接用 Linux 权限 chmod 计算器,输任意一种形式,另两种实时跟着变。
几个绕不开的真实场景
SSH 私钥被拒。 报 "too open" 基本都是私钥权限太松。私钥要 chmod 600 (rw-------,只有自己能读写),~/.ssh 目录要 chmod 700。比这松,OpenSSH 会直接拒绝加载。
目录进不去。 目录的执行位不是"运行",而是"能不能 cd 进去、能不能 stat 里面的文件名"。一个 644 的目录连属主自己都进不去,所以目录几乎都该用 755 或 700,绝不用 644。
脚本返回 403 不执行。 Web 服务器以"其他人"的身份去跑 CGI 脚本,如果脚本是 644,所有身份都没执行位,自然跑不起来。改成 755 给上执行位,403 就变 200。
别动不动就 777。 一遇到 "permission denied" 就 chmod 777 是最常见的坏习惯。777 等于全机器任何用户都能读写执行这个文件,world-writable 意味着别人能把它换成自己的代码。真正该做的通常是 644/755 加上一次正确的 chown,把属主属组设对,而不是把权限放到最大。运维侧常用命令我整理在 Docker 速查表 里,配合权限一起看更顺。
小结
记住三件事就够日常用了:身份分属主、属组、其他人三类按顺序排;读 4 写 2 执行 1,相加就是那一位数字;755 给脚本和目录、644 给普通文件、600 给私钥、700 给私人目录。其余的查表或者用计算器现算,不用硬背。
Made by Toolora · Updated 2026-06-13