访问控制与超级用户权限管理
1. 访问控制概述
访问控制主要聚焦于内核及其代理如何做出与安全相关决策的具体细节。在过去十年里,UNIX 和 Linux 在访问控制领域出现了大量新的选择,这主要得益于内核 API 的出现,它允许第三方模块增强或取代传统的 UNIX 访问控制系统。不过,传统系统仍然是 UNIX 和 Linux 的标准,适用于大多数安装场景。即便管理员想尝试新的访问控制方式,扎实掌握基础知识也是必不可少的。
2. 标准 UNIX 访问控制
2.1 基本规则
标准 UNIX 访问控制模型几十年来基本保持不变,它遵循以下基本规则:
- 访问控制决策取决于尝试执行操作的用户,某些情况下还取决于该用户所属的 UNIX 组。
- 对象(如文件和进程)都有所有者,所有者对其对象有广泛(但不一定无限制)的控制权。
- 用户拥有自己创建的对象。
- 特殊用户账户“root”可以充当任何对象的所有者。
- 只有 root 才能执行某些敏感的管理操作。
2.2 系统调用与文件系统访问控制
某些系统调用(如 settimeofday)仅限于 root 执行,实现时会检查当前用户的身份,若不是 root 则拒绝操作。其他系统调用(如 kill)会进行不同的计算,涉及所有权匹配和对 root 的特殊规定。文件系统有自己的访问控制系统,与内核的 VFS 层协作实现,通常比内核其他部分的访问控制更复杂,更倾向于使用 UNIX 组进行访问控制。
2.3 内核与文件系统的关系
内核和文件系统紧密交织,例如通过 /dev 中的文件来控制和与
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



