Mac终端删除隔离文件遇xattr操作不允许错误,求解决办法
解决Mac删除隔离属性时的权限问题
可行的解决方法
放弃递归,逐个处理文件:递归命令可能因个别文件的特殊属性触发错误,试试进入目录后单独处理文件:
cd mydirectory sudo xattr -d com.apple.quarantine *存在子目录的话,进入对应子目录重复执行即可。
修复文件系统权限:通过磁盘工具手动修复权限:
- 打开「磁盘工具」,选中系统磁盘
- 点击「急救」按钮运行修复
完成修复后重新执行xattr命令。
先重置文件权限再删隔离属性:针对「自定义访问」的文件,先统一重置权限:
sudo chmod -R 755 mydirectory sudo xattr -r -d com.apple.quarantine mydirectory755是通用的可读可执行权限,仅测试的话可以临时换成777(不推荐长期使用)。
通过Finder批量修正权限:
- 右键点击
mydirectory,选择「显示简介」 - 拉到「共享与权限」区域,点击右下角锁图标解锁
- 点击「+」添加当前用户,设置权限为「读与写」
- 点击齿轮图标,选择「应用到包含的项目」
完成后再次执行xattr命令。
- 右键点击
进入恢复模式操作:
- 重启Mac,按住Command+R进入恢复模式
- 打开「终端」,先挂载系统磁盘(未挂载时执行):
具体磁盘路径可以用diskutil mount /dev/disk1s1diskutil list查看 - 切换到目标目录执行命令:
恢复模式下无需sudo,权限限制更少。cd /Volumes/你的磁盘名/mydirectory xattr -r -d com.apple.quarantine .
内容的提问来源于stack exchange,提问作者DiamondJoe12
相关产品推荐
相关产品推荐

