Appearance
题目
文件系统中,文件访问控制信息存储的合理位置是( )。
错因
B
文件分配表(FAT)记录的是"文件由哪些磁盘块组成"——是物理结构信息,跟"谁能访问、能做什么"的访问控制完全是两回事。把"分配"和"访问控制"混成一类信息了。
C
用户口令表存的是用户的认证信息(用户名 + 密码哈希)——是用户的属性,不是文件的属性。访问控制要回答"用户 U 能不能对文件 F 做操作 X",这是文件层面的事,不是用户层面的事。
D
系统注册表是 Windows 特有的概念,存系统级配置——和"文件访问控制"层级不对,也不是 OS 通用的存放位置。把 OS 通用文件系统问题和 Windows 特定数据结构混了。
总解析
文件访问控制信息:哪些用户能对该文件做什么操作(读 / 写 / 执行)。这是文件本身的属性,逻辑上应该放在和文件元数据一起的位置。
文件元数据的容器 = 文件控制块 (FCB) / inode:
| FCB / inode 里典型存储的内容 |
|---|
| 文件名(或独立放在目录项里) |
| 文件大小 |
| 文件类型 |
| 拥有者 + 所属组 |
| 访问权限(如 Unix 的 rwxrwxrwx) |
| 创建/修改/访问时间 |
| 数据块指针 |
访问控制信息正是 FCB / inode 的一部分——逻辑上和文件的其他属性绑在一起,open 时一起读入内存(OS 一次拿到所有判定权限需要的信息)。
| 选项 | 内容 | 是否合理位置? |
|---|---|---|
| A | 文件控制块(FCB / inode) | ✓ —— 文件元数据的容器 |
| B | 文件分配表 | ✗ 物理结构,跟访问权限无关 |
| C | 用户口令表 | ✗ 用户认证信息,不是文件属性 |
| D | 系统注册表 | ✗ 系统配置,不是文件元数据 |
速记:文件的属性放在文件的元数据(FCB/inode)里——访问控制是文件的属性,归 FCB 管。Unix
ls -l看到的权限位、所有者、组就是从 inode 拿的。
最终答案是 A。