一 真题2009-30
30题. 文件系统中,文件访问控制信息存储的合理位置是()。
A. 文件控制块
B. 文件分配表
C. 用户口令表
D. 系统注册表
二 题目要素解析
对象: 文件系统中的访问控制信息(Access Control Information)。
- 即:谁能读这个文件?谁能写?谁能执行?(如 rwx 权限)。
目的: 寻找这些信息在系统中存储的合理位置。
核心概念: 需要理解文件系统中各个数据结构的职责分工。
三 哔哔详解
A. 文件控制块(FCB, File Control Block) ✅✅✅
- 定义 :操作系统为每个文件建立的数据结构,用于存储文件的元数据(metadata)
- 典型内容包括:
- 文件名
- 文件类型
- 文件大小
- 物理地址(如索引节点号、起始块)
- 访问控制信息:所有者、组、权限位(rwx)、ACL 等
- 现实对应:
- UNIX/Linux 中的 i-node(索引节点)
- Windows NTFS 中的 MFT(主文件表)记录
- 结论 :✅ 访问控制信息就存在 FCB 或其等价结构中
B. 文件分配表(FAT, File Allocation Table) ❌
- 作用 :仅记录磁盘块的链接关系(哪个块是下一个),用于实现链式分配
- 内容:纯地址指针(如 FAT[100] = 200 表示第 100 块后是 200 块)
- 不包含:文件名、权限、所有者等任何语义信息
- 典型系统:FAT12/16/32(DOS、早期 Windows)
- 结论 :❌ 与访问控制无关
C. 用户口令表 ❌
- 作用 :存储用户登录认证信息(如用户名、加密口令)
- 位置 :通常在
/etc/shadow(Linux)或 SAM 数据库(Windows) - 用途 :用于用户身份验证 ,而非文件级权限控制
- 注意 :虽然文件权限会引用"用户ID",但权限本身不存于此表
- 结论 :❌ 不是文件访问控制信息的存储位置
D. 系统注册表(Windows 特有) ❌
- 作用 :Windows 的全局配置数据库,存储系统/应用设置
- 不用于:存储单个文件的访问控制列表(ACL)
- 文件 ACL 实际存储位置 :NTFS 的 MFT 记录中(属于文件元数据)
- 结论 :❌ 注册表 ≠ 文件元数据存储区
四 参考答案
参考答案 A
五 考点精析
5.1 核心考点:FCB 的组成
FCB 是文件系统中最重要的概念之一,它通常包含以下三类信息:
基本信息: 文件名、文件类型、文件大小。
存取控制信息: 所有者(UID)、组(GID)、访问权限(读 / 写 / 执行)。
物理地址信息: 指出文件在磁盘上的位置(如:连续结构的起始块号和长度;链式结构的首块号;索引结构的索引块号)。
5.2 FCB 与 目录项 (Dirent) 的关系
早期文件系统: 目录表就是一个 FCB 的列表。每个目录项直接包含完整的 FCB。
- 缺点: 当文件很多时,目录表非常大,查找速度慢;文件复制时 FCB 也要复制,导致一致性问题。
现代文件系统(Unix/Linux): 引入了索引节点 (inode)。
- 目录项 (Directory Entry): 只包含 文件名 + inode 号。
- FCB (inode): 包含除了文件名以外的所有其他信息(权限、地址、时间等)。
- 优点: 多个目录项可以指向同一个 inode(实现硬链接),节省空间,查找更快。
- 注意: 无论结构如何变化,"访问控制信息" 始终属于 FCB/inode 的一部分,而不属于目录项。
5.3 访问控制矩阵与访问控制表
访问控制矩阵 (Access Control Matrix): 这是一个理论模型。行代表用户,列代表文件,矩阵元素代表权限。
- 缺点: 稀疏矩阵,浪费空间。
访问控制表 (ACL - Access Control List): 这是实际系统(如 Windows, Linux)采用的方式。它是矩阵的列。
- 实现: 将每个文件的授权用户列表存储在该文件的 FCB 中。这就是为什么 FCB 必须存储访问控制信息的理论依据。
5.4 做题技巧
看到 "文件属性"、"权限"、"创建时间"、"物理地址" → 选 FCB。
看到 "磁盘块链接关系"、"FAT" → 选 文件分配表。
看到 "文件名与 inode 映射" → 选 目录项。
5.5 UNIX i-node 与访问控制
在 Linux/ext 系列文件系统中:
-
每个文件对应一个 i-node
-
i-node 中包含:
uid_t i_uid; // 所有者 gid_t i_gid; // 所属组 mode_t i_mode; // 权限位(如 0644)ls -l显示的权限(如-rw-r--r--)就来自 i-nodei-node 是 FCB 的具体实现
5.6 FCB/FAT/目录项 对比
| 数据结构 | 作用 | 是否存文件权限 |
|---|---|---|
| FCB / i-node | 文件元数据 | ✅ 是 |
| FAT | 磁盘块链接 | ❌ 否 |
| 目录项 | 文件名 → FCB 指针 | ❌(只存名字和 inode 号) |
| 用户口令表 | 用户认证 | ❌ |
| 位示图 / 空闲块表 | 空闲磁盘管理 | ❌ |
六 考点跟踪
暂无
说明 :本文内容基于公开资料整理,参考了包括但不限于《数据结构》(严蔚敏)、《计算机操作系统》(汤小丹)、《计算机网络》(谢希仁)、《计算机组成原理》(唐朔飞)等国内高校经典教材,以及其他国际权威著作。同时,借鉴了王道、天勤、启航等机构出版的计算机专业考研辅导系列丛书 中的知识体系框架与典型题型分析思路。文中所有观点、例题解析及文字表述均为作者结合自身理解进行的归纳与重述,未直接复制任何出版物原文。内容仅用于学习交流,若有引用不当或疏漏之处,敬请指正。