需先授权终端完全磁盘访问,再清除App隔离属性,最后修正文件夹权限与归属:依次执行系统设置中添加终端至“完全磁盘访问权限”、用xattr命令移除quarantine属性、运行chown和chmod重设为755权限并验证。

Mac上双击运行软件时提示“没有权限访问磁盘”,本质是系统阻止该程序读写用户数据目录(如桌面、文稿、下载)或外接磁盘,需从终端权限授权、隔离属性清除、文件归属修正三方面同步处理。
授予终端完全磁盘访问权限
这一步必须最先完成,否则后续所有终端命令都会被拦截。macOS默认禁止终端访问受保护位置,哪怕你是管理员也无权绕过。
点击屏幕左上角苹果菜单 → 系统设置 → 隐私与安全性 → 向下滚动找到“完全磁盘访问权限” → 点击右下角“+”按钮 → 按住Command + Shift + G,输入/Applications/Utilities并回车 → 双击打开“终端.app” → 确保终端条目右侧开关已开启。
【必须完全退出终端再重开,否则权限不生效】
Apple芯片Mac还需在终端中执行:sudo killall -u $(whoami) Terminal,强制刷新策略缓存。
清除软件的隔离属性
从网页下载的App会被macOS自动打上隔离标签,Gatekeeper会拒绝其访问任何磁盘路径,哪怕权限全开也无效。
方法一:终端移除隔离属性
打开终端 → 输入xattr -d com.apple.quarantine 后,直接把应用图标拖进终端窗口 → 回车执行。
方法二:访达快捷操作
在访达中右键点击该App → 选择“显示简介” → 展开“通用”区域 → 若看到“已锁定”或“来自识别的开发者”下方有“已损坏”字样,点选“仍要打开”即可临时解除隔离。
修正应用文件夹权限与归属
权限错乱常表现为App内部可执行文件归属为root,或整个.app目录权限为700(仅所有者可读写),导致当前用户无法调用其磁盘IO能力。
第一步:重置所有者为当前用户
在终端中执行:sudo chown -R $USER:staff /Applications/YourApp.app(将YourApp.app替换为实际路径)。
第二步:设为标准755权限
执行:sudo chmod -R 755 /Applications/YourApp.app。这确保所有者可读写执行,组与其他用户可读执行——Gatekeeper只接受此组合。
第三步:验证是否生效
执行:ls -ld /Applications/YourApp.app,输出首字段应为drwxr-xr-x,且第一列用户名为你当前登录名。

















