Appearance
第 09 课 · 安全与权限
门禁、沙盒、钥匙串:谁能进哪间房。
作者:曹宇春
先记住这个类比
- 文件权限(rwx) = 档案柜上的规定:主人 / 部门同事 / 外人谁能看能改能执行
- root = 董事长万能钥匙(能不用就不用)
- SIP = 核心档案室加锁,连万能钥匙也有门槛
- 沙盒 = 员工只能待在自己隔间 + 你批准的会议室
- Keychain = 公司保险柜:密码和 Token 放这里
- Gatekeeper / 签名 = 外来人员要工牌验证才能进楼
正式概念(人话版)
chmod 三类人
| 身份 | 谁 |
|---|---|
| u(owner) | 档案主人 |
| g(group) | 同组 |
| o(others) | 其他人 |
r 读、w 写、x 执行。
部署时报 Permission denied,九成是这里。
TCC(macOS 隐私审批)
访问摄像头、麦克风、桌面文件夹等 → 系统弹窗 ≈ 敏感操作审批单。你点不允许,App 再能干也进不去。
代码签名
未签名 / 未知来源的 .app 会被拦。
「右键打开」是绕过提示,不是证明安全。
在你电脑上看一眼
bash
# 看文件权限
ls -l ~/Documents | head
# 谁以何用户跑着(不要乱 sudo)
id能进系统设置 → 隐私与安全性,看哪些 App 拿到了「完全磁盘访问」等权限——那都是门禁列表。
开发里什么时候用得上
- CI / 服务器上别长期用 root 跑业务
- Token、云密钥放环境变量或钥匙串,别提交进 Git
- 删某些
Containers元数据失败:系统保护,不是你命令写错
练习
- 对某个项目目录跑
ls -l,解释三组rwx。 - 回想最近一次 macOS 权限弹窗,它拦的是哪类资源?
小结
- 权限 = 柜门规则;沙盒 = 隔间;SIP = 核心室锁
- 钥匙串管秘密;签名管进楼资格
- 最小权限原则:够用就好,别迷信万能钥匙
下一课:多人改白板——并发入门。