Skip to content

第 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 元数据失败:系统保护,不是你命令写错

练习

  1. 对某个项目目录跑 ls -l,解释三组 rwx
  2. 回想最近一次 macOS 权限弹窗,它拦的是哪类资源?

小结

  • 权限 = 柜门规则;沙盒 = 隔间;SIP = 核心室锁
  • 钥匙串管秘密;签名管进楼资格
  • 最小权限原则:够用就好,别迷信万能钥匙

下一课:多人改白板——并发入门。

© 曹宇春 · 个人学习整理,欢迎交流