807 字
约 2 分钟
9
S15-B03 · 权限与用户:rwx 到底管什么
适用读者:遇到
Permission denied只会chmod 777的人。
前置:S15-B02。
实测环境:Ubuntu 24.04(2026-11-05)。
覆盖旧文:1333(45) 1308(27) 1302(20) 1305(20) 1325(22) + 4 张用户类 = 134 点。
覆盖扩展:E-S15-003(目录 r/w/x 的真实含义)。
上一篇:S15-B02 · 文件与目录:增删改查与查找
下一篇:S15-B04 · 进程、端口与内存。
1. 一句话结论
文件与目录的 rwx 含义不同:文件的 x 是"能执行",目录的 x 是"能进入";目录的 w 是"能增删条目",跟"能改文件内容"无关。
2. 实测:目录权限的三种状态
mkdir d1 d2 d3; echo x > d1/a.txt
chmod 444 d1 # r--r--r--
ls d1 # → a.txt ← 能列名(r 生效)
chmod 555 d1 # r-xr-xr-x
cd d1 # → ok ← 能进入(x 生效)
| 权限 | 文件上的含义 | 目录上的含义 |
|---|---|---|
r |
读内容 | 列目录条目(ls) |
w |
改内容 | 增删/重命名条目 |
x |
执行 | 进入目录(cd)/访问其中文件 |
只有 r 没有 x 的目录:能 ls 看到名字,但读不了文件内容(因为无法"进入")。
3. 权限模型与最小权限
| 位 | 归属 |
|---|---|
| 属主(u) | 文件的 owner |
| 组(g) | owner 所在组 |
| 其他(o) | 其他人 |
常用安全取值:
| 场景 | 建议 |
|---|---|
| 普通文件 | 644 |
| 可执行/脚本 | 755 |
| 私钥 | 600 |
| 目录 | 755 |
"为什么私钥必须 600":ssh 会拒绝权限过宽的私钥(bad permissions)。
4. 属主与用户操作
| 操作 | 命令 |
|---|---|
| 改属主 | chown user:group file |
| 改权限 | chmod 644 f / chmod +x f |
| 创建用户 | useradd -m -s /bin/bash u |
| 设密码 | passwd u |
| 切换 | su - u / sudo -u u cmd |
| 删除用户 | userdel -r u(-r 删家目录) |
| 用户组 | groupadd / usermod -aG g u |
sudo 的本质:以另一个用户(默认 root)身份执行——所以 sudo 后的权限位按 root 算。
5. 五个误区
| 误区 | 真相 |
|---|---|
"目录的 w 能改文件内容" |
只能增删条目 |
"chmod 777 最省事" |
安全风险 |
"chown 能改任意文件属主" |
需 root |
"sudo 改的是环境变量" |
改的是执行身份 |
"su 与 sudo 一样" |
su 切换用户(要密码),sudo 提权执行单条 |
6. 自检
- 目录的
r/w/x各管什么? - 只有
r没有x的目录能做什么、不能做什么? - 私钥为什么必须 600?
su与sudo的差别?userdel -r的-r做什么?
7. 下一篇
S15-B04 · 进程、端口与内存
权限讲完,下一篇讲"谁在跑、占了多少":ps/ss/top 的组合用法。
本篇属于系列《S15 · Linux 与运维》。旧文来源:9 张权限/用户类卡;扩展点 E-S15-003。目录权限实验为 Ubuntu 24.04 实测。
S15-B03 · 权限与用户:rwx 到底管什么
https://www.clxhxhhr.top/posts/5391/ 评论
0 条
还没有评论,先写一条吧。