需为Terminal授予“完全磁盘访问权限”并验证路径授权:一、在系统设置→隐私与安全性→完全磁盘访问中添加并启用终端;二、重启后执行ls等命令触发iCloud等子路径的二次授权;三、异常时移除权限、彻底退出终端后重试授权。

如果您在Mac上使用终端执行脚本或命令时遇到“Operation not permitted”错误,或无法读写某些受保护目录(如桌面、文稿、iCloud云盘等),则很可能是Terminal未被授予“完全磁盘访问权限”。以下是解决此问题的具体操作步骤:
一、通过系统设置启用Terminal的完全磁盘访问权限
macOS默认限制终端对用户敏感位置的访问,需手动在“隐私与安全性”中授权其获得系统级磁盘读写能力。该权限允许Terminal执行涉及任意路径的文件操作,包括挂载点、外部卷及受保护的用户目录。
1、点击屏幕左上角的苹果菜单,选择“系统设置”。
2、在左侧边栏中向下滚动并点击“隐私与安全性”。
3、在右侧内容区域中继续向下滚动,找到并点击“完全磁盘访问权限”。
4、若列表中未显示“终端”,点击右下角的“+”号按钮。
5、在弹出的访达窗口中,前往“应用程序 > 实用工具”,选中“终端”应用,点击“添加”。
6、确保终端条目右侧的复选框已被勾选,此时必须完全退出并重启终端才能使权限生效。
二、验证终端是否已获得完整权限路径访问能力
仅授予“完全磁盘访问权限”不等于自动获得所有子路径的显式许可;部分目录(如iCloud云盘中的特定子文件夹)仍可能触发二次权限请求。需通过实际访问行为触发系统确认,确保底层路径链完整放行。
1、打开已重启的终端应用。
2、输入命令:ls ~/Library/Mobile\ Documents/com~apple~CloudDocs/,按回车执行。
3、若首次访问iCloud云盘深层路径,系统将弹出权限提示框,点击“好”以允许。
4、再次运行相同命令,确认返回文件列表而非“Permission denied”错误。
5、对其他关键路径(如/Volumes/下的外接硬盘)重复执行ls探测,每次新路径首次访问均需单独确认授权。
三、重置终端权限并强制重新申请授权
当终端出现权限状态异常(如部分路径可访问、部分持续拒绝)、图标旁显示锁形标记,或曾误点“拒绝”后无法再次唤起授权弹窗时,需清除其全部历史权限记录,使其回归初始未授权状态,从而触发完整授权流程。
1、打开“系统设置” → “隐私与安全性” → “完全磁盘访问权限”。
2、在应用列表中右键点击“终端”名称(或触控板双指长按)。
3、从上下文菜单中选择“移除访问权限”。
4、关闭系统设置窗口,在程序坞中右键终端图标,选择“退出”;若不可用,打开“活动监视器”,搜索“Terminal”,选中后点击顶部“X”强制退出。
5、重新启动终端,立即执行一条跨域读取命令,例如:cat ~/Desktop/.hidden_test(提前在桌面创建一个隐藏测试文件),等待系统弹出权限对话框后点击“好”。











