Linux 命令实战 · 第 5 章 权限、属主与磁盘 章节摘要:很多教程把 当成一串八进制数字让你背,结果你只会照抄 ,却说不清为什么是 7、5、5。本章要把权限这件事彻底讲透。我们从 输出最左边那一列 切入,讲清「三类人(属主/属组/其他人)× 三种权限(读/写/执行)」的九位模型,讲透为什么权限写成八进制( 正好是三位二进制),以及 同时支持符号式( )与八进制( )的设计意图。然后我们把视角抬一层:权限只决定「谁能访问」,而「这是谁的文件」由属主属组( / )决定,新建文件的默认权限由 决定。最后落到磁盘—— 看容量、 看占用、 理解「一切皆文件树」的挂载模型。读完本章,你彻底看懂 的每一列,理解 i 节点、权限、挂载三者如何共同构成 Linux 文件系统的底层骨架。
章节摘要:很多教程把
chmod当成一串八进制数字让你背,结果你只会照抄chmod 755,却说不清为什么是 7、5、5。本章要把权限这件事彻底讲透。我们从ls -l输出最左边那一列rwxr-xr-x切入,讲清「三类人(属主/属组/其他人)× 三种权限(读/写/执行)」的九位模型,讲透为什么权限写成八进制(rwx正好是三位二进制),以及chmod同时支持符号式(u+x)与八进制(755)的设计意图。然后我们把视角抬一层:权限只决定「谁能访问」,而「这是谁的文件」由属主属组(chown/chgrp)决定,新建文件的默认权限由umask决定。最后落到磁盘——df看容量、du看占用、mount理解「一切皆文件树」的挂载模型。读完本章,你彻底看懂ls -l的每一列,理解 i 节点、权限、挂载三者如何共同构成 Linux 文件系统的底层骨架。
阅读完本章,你应当能够:
ls -l 输出最左列的十位字符(文件类型 + 九位权限),说清每一组的含义。u+x、g-w、o=r-x)与八进制(755、644)两种方式修改权限,并能互相换算。x 是「能进入」,不是「能执行」)。chown/chgrp 修改属主与属组,理解「权限检查的顺序:先属主、再属组、最后其他」。umask 解释新建文件的默认权限是怎么来的,并能算出 umask 022 对应的实际权限。df(整体容量)、du(目录占用)诊断磁盘空间,理解「删除大文件有时不释放空间」(被进程占用)的原因。mount)的本质:把一个设备接到文件树的某个目录节点,从而「一切皆文件树」。权限只是「已确认身份后,允不允许你做」——而身份由
chown/chgrp决定、默认权限由umask决定、磁盘容量由df/du可见、物理设备靠mount接入文件树。五者共同构成 Linux 文件系统的安全与结构骨架。
ls -l:权限位与文件类型ls -l 最左十位字符的完整解读:第一位是文件类型(普通/目录/链接/设备),后九位是三组权限。这是理解权限的起点,也回答了「为什么权限写成 rwxr-xr-x」。
chmod:符号式与八进制两种修改权限的方式:符号式(u+x、g-w、o=r-x、a+r,直观、增量为意)与八进制(755、644,精确、整体覆盖)。讲透八进制换算(rwx=111=7)、-R 递归的注意事项,以及目录权限的陷阱(chmod -R 会把目录的 x 也改掉)。
r、w、x 各是什么目录权限与文件权限含义不同:r 是「能列出文件名」、w 是「能增删文件」、x 是「能进入(cd)与访问 inode」。这一节破解「为什么有时能 ls 却打不开文件」「为什么给目录 w 等于送人删除权」。
chown、chgrp权限检查的前提是「你是谁」。讲清属主(u)、属组(g)、其他(o)三类身份,chown user:group 同时改主组,以及权限检查的「先属主→属组→其他,命中即止」顺序(这正是为什么属主权限有时反而比其他小)。
umask新建文件的权限 = 全权限(666 或 777)减去 umask。讲清 umask 022 对应文件 644、目录 755 的计算,以及为什么 umask 用「掩码」而非「直接给权限值」——为了安全默认(默认不给其他用户写)。
df、dudf -h 看每个挂载点的总容量与使用率、du -sh * 看某目录下各项的占用。讲清两者差别(分区 vs 目录)、-h 人类可读、--max-depth 限制深度,以及「删了大文件空间没释放」的根因(进程还持有该文件的 fd)。
mount、umount挂载是 Linux「一切皆文件树」的实现机制:把一个设备(磁盘分区、U 盘、网络文件系统)接到文件树的某个目录。讲清 mount/umount、/etc/fstab 开机自动挂载、以及「为什么必须先 umount 再拔 U 盘」(缓冲未落盘)。
本章遵循「看懂权限 → 改权限 → 弄清身份 → 理解默认 → 抬到磁盘」的递进路径,前五节围绕「权限」,后两节抬到「磁盘」:
ls -l 解读 (01) ── 先看懂十位字符 │ ▼ chmod (02) ── 改权限的两种方式 │ ▼ 目录权限 (03) ── 目录的 r/w/x 与文件不同(易错点) │ ▼ chown/chgrp (04) ── 权限检查的前提:你是谁 │ ▼ umask (05) ── 新建文件的默认权限怎么来 │ ▼ df/du (06) ── 抬到磁盘:容量与占用 │ ▼ mount/umount (07) ── 物理设备如何接入文件树 │ ▼ 第 6 章:从"文件"切到"进程",看谁在跑、占什么资源
前五节构成「权限」的完整闭环:看懂→改→身份→默认;其中第 3 节(目录权限)和第 5 节(umask)是两个最易错的点。后两节把视角从「逻辑文件树」抬到「物理磁盘」,与第 2 章的 i 节点、第 6 章的进程 fd 形成完整的底层认知。
前置知识:
ls 基础)stat、ln——权限位与硬链接数都挂在 i 节点上)本章为后续章节奠定的基础:
chmod 是第 8 章(sudo、服务运行用户、useradd)的权限模型基础df/du 是第 6 章(进程观测)里诊断「磁盘被谁占满」的前置umask 是第 9 章(脚本)里控制产物文件权限的常用手段