权限安全与隔离
操作系统安全从身份、权限、隔离和审计开始。用户、组、ACL、令牌、沙箱、签名和访问控制共同决定一个程序能做什么。
# 1. 学习目标
- 理解用户、组、权限、ACL 和能力模型。
- 能解释最小权限、提权、沙箱和审计日志。
- 能在 Linux、macOS、Windows 上做基础安全加固和权限排查。
# 2. 知识框架
权限安全与隔离
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料
安全排查的核心问题是:谁在访问,访问什么,凭什么访问,是否被记录,是否超出最小权限。
# 3. 核心概念
| 主题 | 说明 | 工程关注 |
|---|---|---|
| 身份 | 用户、组、服务账号、令牌等主体标识 | 权限归属、审计追踪 |
| 访问控制 | 决定主体能否访问对象的规则 | 文件权限、ACL、防火墙、策略 |
| 最小权限 | 只授予完成任务所需的最低权限 | 降低误操作和攻击面 |
| 隔离 | 限制进程、用户、容器或应用之间的影响范围 | 沙箱、namespace、UAC、SIP |
# 4. 机制与实践
- 服务进程使用专用低权限账号运行,避免长期使用管理员或 root。
- 权限异常时检查主体身份、路径权限、继承 ACL、安全策略和审计日志。
- 生产主机关闭不必要端口和服务,定期更新补丁与密钥。
# 5. 常用命令与工具
| 命令或工具 | 作用 | 使用建议 |
|---|---|---|
id | 查看当前用户和组 | 确认权限主体 |
chmod/chown | 修改类 Unix 文件权限和属主 | 谨慎递归操作 |
icacls path | 查看或修改 Windows ACL | 排查文件权限问题 |
# 6. 常见误区
- 用最高权限解决所有问题:短期省事,长期会扩大误操作和入侵影响面。
- 只看文件权限不看进程身份:服务实际运行用户可能和登录用户不同。
- 忽略审计:没有日志就很难复盘谁在何时做了什么。
# 7. 进阶研究方向
- 学习 Linux capability、SELinux/AppArmor、macOS SIP、Windows Integrity Level。
- 研究容器逃逸和沙箱边界的常见条件。
- 建立服务器基线:账号、端口、补丁、日志、密钥和备份。
# 8. Tips 快问快答
Q:为什么不建议服务用 root 运行?
A:一旦服务被利用,攻击者会直接获得最高权限,影响面过大。
Q:ACL 和传统 rwx 权限有什么区别?
A:传统权限较粗,ACL 可以对多个主体设置更细粒度访问规则。
Q:最小权限会不会影响效率?
A:设计得好不会。它要求把权限边界显式化,减少事故影响。
# 9. 总结
权限和隔离是操作系统安全的第一道防线。成熟系统不是没有高权限操作,而是高权限可控、可审计、可回滚。
上次更新: 2026/06/25, 10:02:19