macOS应用网络访问需多层授权:防火墙控制传入连接(含15.3.2+出站选项),首次联网触发系统弹窗授权,沙盒应用需entitlements声明network.client,本地网络权限独立管控设备发现,完全磁盘访问影响代理等网络配置读写。
macos 对应用网络访问的控制不是单一开关,而是分层、多路径的权限体系。是否能联网,取决于应用是否获得对应层级的授权,且不同场景触发的授权机制也不同。
防火墙规则:显式允许或阻止传入连接
系统内置防火墙默认只管“别人连你”,也就是传入连接。当你运行一个需要被外部设备访问的服务(比如本地 Web 服务器、远程调试工具),它会弹出提示或需你手动添加到防火墙白名单。
- 路径:系统设置 → 隐私与安全性 → 防火墙 → 防火墙选项…
- 点击“+”添加 App,确保状态为“允许传入连接”
- 注意:macOS 15.3.2 及更新版本开始支持“阻止所有出站连接”选项,但该功能并非所有机型/系统版本都默认启用,需确认当前系统是否显示该复选框
首次联网提示:系统自动触发的按需授权
大多数普通应用(如邮件、笔记、AI 工具)首次尝试联网时,系统会弹出“XX 想接收来自网络的连接”对话框。这是最常见、最直接的授权方式。
- 该提示仅在应用首次建立 TCP/UDP 连接时出现,且依赖正确签名和 entitlements
- 若误点“拒绝”,不会再次弹出,需手动进防火墙添加并启用
- 沙盒应用若缺失 com.apple.security.network.client 权限声明,即使点了“允许”,实际仍无法联网
本地网络权限:单独控制局域网设备发现
有些 App(如投屏工具、智能家居客户端、文件共享类软件)需要扫描或连接同一 Wi-Fi 下的其他设备,这属于“本地网络”范畴,和普通互联网访问是分开管控的。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- 路径:系统设置 → 隐私与安全性 → 本地网络
- 列表中每个 App 后有独立开关,关闭后无法发现 AirPlay 设备、NAS、打印机等
- 该权限不替代互联网访问权,两者需同时开启才能完成完整网络功能
完全磁盘访问:间接影响网络能力的底层权限
部分应用需读写系统网络配置(如代理设置、DNS 配置、证书存储),若被限制磁盘访问,可能表现为“能连上但无法加载内容”或“代理失效”。
- 路径:系统设置 → 隐私与安全性 → 完全磁盘访问
- 常见需要此权限的包括:ClashX、Surge、某些企业安全客户端、自建代理工具
- 添加后重启应用,再测试网络行为是否恢复正常









