第 2 课,共 4 课 · 8 分钟
macOS 上的权限与沙盒机制
应用沙盒、隐私权限提示,以及你的账户类型,分别是如何限制软件能做什么的。
一个仅仅把各个进程彼此隔离开的操作系统,仍然会留下一个缺口:一个应用依然可以请求你的摄像头、通讯录,或者整块磁盘,并且悄无声息地拿到手。macOS 用三个相互配合的机制堵上了这个缺口:应用沙盒、隐私权限系统,以及你登录时使用的账户类型。
应用沙盒:把各个应用彼此隔离开
Apple 的平台安全文档指出:“来自 App Store 的所有应用都处于沙盒之中,以限制它们访问其他应用存储的数据。如果一个来自 App Store 的应用需要访问另一个应用的数据,它只能通过 macOS 提供的 API 和服务来实现。”实际操作中,一个处于沙盒中的应用不能直接闯入另一个应用的文件夹或内存;它必须经过一条由 macOS 控制的通道,这正是让下一层机制——权限提示——真正有意义、而不是轻易就能绕过的原因。
你每天都会看到的隐私权限提示
Apple 直白地描述了你所看到的这些提示背后的原则:“Apple 认为,用户应当对应用如何处理他们的数据,拥有完全的透明度、知情同意权和控制权。”在当前版本的 macOS 上,这一点由系统本身强制执行,因此一个应用无法在未先取得你同意的情况下,悄悄读取你“文稿”“下载”“桌面”、iCloud 云盘,或某个网络存储卷中的文件。
系统设置 > 隐私与安全性中列出了应用可以请求使用的各个类别,包括相机、麦克风、定位服务、通讯录、照片、完全磁盘访问、屏幕与系统录音,以及辅助功能,每一项都附有简短说明,解释允许它会让应用做什么。有两项特别值得记住名字:完全磁盘访问,它“允许应用访问你电脑上的所有文件,包括来自其他应用的数据”;以及辅助功能,它让应用能“运行脚本和系统命令来控制你的 Mac”。这两项权限的范围都远超大多数应用的实际需要,因此看到任何一项的请求,都值得多留个心眼。
- 第一次请求总会先弹出一个提示,写明是哪个应用、请求的是什么权限,然后才会授予任何访问权限。
- 你之后随时可以在系统设置 > 隐私与安全性中查看并撤销任何权限,而不必卸载该应用。
- 完全磁盘访问和辅助功能必须在设置中手动开启;macOS 不会仅凭一个简单的弹窗就授予它们。
标准账户与管理员账户:你登录所用的身份
第三层机制是你的账户类型。Apple 的 Mac 用户指南解释说,管理员账户“可以添加和管理其他用户、安装应用、更改设置”,并提醒:“不要为管理员账户设置自动登录。如果你这样做,任何人只需重启你的 Mac,就能获得管理员权限的访问权。为了保持 Mac 的安全,不要共享管理员的用户名和密码。”相比之下,标准账户“可以安装应用并更改自己的设置,但不能添加其他用户,也不能更改其他用户的设置”。日常工作使用标准账户,只在真正需要时才动用管理员账户,能防止一次失误或被诱导的点击波及到整个系统范围的设置。
要点
- 应用沙盒阻止一个应用直接触及另一个应用的数据;访问必须经过 macOS 本身。
- 用 Apple 的话说,macOS 的设计目标,是让用户对应用如何处理他们的数据拥有“透明度、知情同意权和控制权”。
- 完全磁盘访问和辅助功能是范围异常宽泛的权限,必须在设置中手动开启。
- 你可以随时在系统设置 > 隐私与安全性中查看或撤销任何应用的权限。
- 管理员账户可以更改任何设置并管理其他用户;标准账户则不能,这正是日常使用应当使用标准账户的原因。
自我检测
1. 根据 Apple 的文档,应用沙盒阻止的是什么?
- 应用自动启动
- 应用触及另一个应用的数据,除非通过 macOS 提供的服务 — 正确。
- 应用使用互联网
- 应用被更新
处于沙盒中的应用只能通过 macOS 提供的 API 和服务来访问另一个应用的数据,而不能直接访问。
2. 以下哪项权限必须在系统设置中手动开启,而不是通过一个简单的弹窗授予?
- 完全磁盘访问 — 正确。
- 没有;每项权限都使用同样的弹窗
- Wi-Fi 访问
- 打开 App Store
完全磁盘访问(以及辅助功能)需要在隐私与安全性设置中手动更改,因为它们的权限范围异常宽泛。
3. 为什么 Apple 建议不要为管理员账户设置自动登录?
- 它会拖慢启动速度
- 它会更耗电
- 任何重启这台 Mac 的人都能在不输入密码的情况下获得管理员权限 — 正确。
- 它会禁用 Time Machine
为管理员账户开启自动登录后,任何人只需简单重启,就能在不输入密码的情况下获得管理员权限。
4. 标准账户在没有管理员的情况下,自己能做什么?
- 向 Mac 添加新用户
- 安装应用并更改自己的设置 — 正确。
- 更改另一个用户的密码
- 为整台 Mac 关闭 FileVault
标准账户可以安装应用并调整自己的设置,但无法管理其他用户或整机范围的设置。
用 FireAI 动手做
在你自己的 Mac 上练习这节课的内容。
来源
- Apple Platform Security: Gatekeeper and runtime protection in macOS
- Apple Platform Security: Controlling app access to files in macOS
- Apple Support: Change Privacy & Security settings on Mac
- Apple Support: Add a user or group on Mac
在你的 Mac 上实践
免费试用全部功能 17 天,无需绑定银行卡。