Linux 命令实战 · 第 5 章 权限、属主与磁盘


文档摘要

Linux 命令实战 · 第 5 章 权限、属主与磁盘 章节摘要:很多教程把 当成一串八进制数字让你背,结果你只会照抄 ,却说不清为什么是 7、5、5。本章要把权限这件事彻底讲透。我们从 输出最左边那一列 切入,讲清「三类人(属主/属组/其他人)× 三种权限(读/写/执行)」的九位模型,讲透为什么权限写成八进制( 正好是三位二进制),以及 同时支持符号式( )与八进制( )的设计意图。然后我们把视角抬一层:权限只决定「谁能访问」,而「这是谁的文件」由属主属组( / )决定,新建文件的默认权限由 决定。最后落到磁盘—— 看容量、 看占用、 理解「一切皆文件树」的挂载模型。读完本章,你彻底看懂 的每一列,理解 i 节点、权限、挂载三者如何共同构成 Linux 文件系统的底层骨架。

Linux 命令实战 · 第 5 章 权限、属主与磁盘

章节摘要:很多教程把 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 文件系统的底层骨架。

学习目标

阅读完本章,你应当能够:

  1. 解读 ls -l 输出最左列的十位字符(文件类型 + 九位权限),说清每一组的含义。
  2. 用符号式(u+xg-wo=r-x)与八进制(755644)两种方式修改权限,并能互相换算。
  3. 说清三种权限位对「文件」与「目录」的不同含义(尤其:目录的 x 是「能进入」,不是「能执行」)。
  4. chown/chgrp 修改属主与属组,理解「权限检查的顺序:先属主、再属组、最后其他」。
  5. umask 解释新建文件的默认权限是怎么来的,并能算出 umask 022 对应的实际权限。
  6. df(整体容量)、du(目录占用)诊断磁盘空间,理解「删除大文件有时不释放空间」(被进程占用)的原因。
  7. 说清挂载(mount)的本质:把一个设备接到文件树的某个目录节点,从而「一切皆文件树」。

核心概念速览

权限只是「已确认身份后,允不允许你做」——而身份由 chown/chgrp 决定、默认权限由 umask 决定、磁盘容量由 df/du 可见、物理设备靠 mount 接入文件树。五者共同构成 Linux 文件系统的安全与结构骨架。

子章节导航

01 解读 ls -l:权限位与文件类型

ls -l 最左十位字符的完整解读:第一位是文件类型(普通/目录/链接/设备),后九位是三组权限。这是理解权限的起点,也回答了「为什么权限写成 rwxr-xr-x」。

02 chmod:符号式与八进制

两种修改权限的方式:符号式(u+xg-wo=r-xa+r,直观、增量为意)与八进制(755644,精确、整体覆盖)。讲透八进制换算(rwx=111=7)、-R 递归的注意事项,以及目录权限的陷阱(chmod -R 会把目录的 x 也改掉)。

03 目录权限的真相:rwx 各是什么

目录权限与文件权限含义不同:r 是「能列出文件名」、w 是「能增删文件」、x 是「能进入(cd)与访问 inode」。这一节破解「为什么有时能 ls 却打不开文件」「为什么给目录 w 等于送人删除权」。

04 属主与属组:chownchgrp

权限检查的前提是「你是谁」。讲清属主(u)、属组(g)、其他(o)三类身份,chown user:group 同时改主组,以及权限检查的「先属主→属组→其他,命中即止」顺序(这正是为什么属主权限有时反而比其他小)。

05 默认权限:umask

新建文件的权限 = 全权限(666 或 777)减去 umask。讲清 umask 022 对应文件 644、目录 755 的计算,以及为什么 umask 用「掩码」而非「直接给权限值」——为了安全默认(默认不给其他用户写)。

06 磁盘容量:dfdu

df -h 看每个挂载点的总容量与使用率、du -sh * 看某目录下各项的占用。讲清两者差别(分区 vs 目录)、-h 人类可读、--max-depth 限制深度,以及「删了大文件空间没释放」的根因(进程还持有该文件的 fd)。

07 挂载模型:mountumount

挂载是 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 形成完整的底层认知。

前置知识与后续延伸

前置知识:

  • 第 1 章(展开规则、ls 基础)
  • 第 2 章(i 节点、statln——权限位与硬链接数都挂在 i 节点上)

本章为后续章节奠定的基础:

  • 权限位与 chmod 是第 8 章(sudo、服务运行用户、useradd)的权限模型基础
  • df/du 是第 6 章(进程观测)里诊断「磁盘被谁占满」的前置
  • 挂载概念帮助理解容器卷映射、NFS 等延伸场景
  • umask 是第 9 章(脚本)里控制产物文件权限的常用手段

发布者: 作者: 灏天文库 转发
评论区 (0)
U