You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M2芯片Mac运行复制的cat文件异常:进程被终止求助

解决M2芯片Mac复制系统二进制文件后运行被终止的问题

问题原因

Apple Silicon(包括M2)架构的Mac对系统预装二进制文件(如/bin/cat)启用了**强化运行时(Hardened Runtime)**和严格的代码签名校验机制。直接使用cp命令复制这类文件时,会丢失部分签名元数据或破坏完整性校验上下文,导致系统的AMFI(Apple Mobile File Integrity)组件终止进程运行。而旧款Intel Mac的签名校验逻辑相对宽松,因此可以正常执行复制后的文件。

解决方法

方法1:使用ditto命令完整复制文件

ditto会保留文件的所有属性、签名信息和扩展属性,是复制系统二进制的正确方式:

ditto /bin/cat test

执行完成后,直接运行./test即可正常工作。

方法2:临时禁用AMFI校验(不推荐,仅测试用)

如果需要调试或修改系统二进制,可临时关闭AMFI的验证(需进入恢复模式操作):

  1. 重启Mac,按住电源键直到出现启动选项,选择「恢复模式」。
  2. 在恢复模式中打开终端,执行:
    csrutil enable --without amfi
    
  3. 重启回到正常系统,此时复制后的二进制文件可正常运行。注意:该操作会降低系统安全性,测试完成后请执行csrutil enable恢复完整SIP保护。

方法3:使用别名替代复制

如果只是需要一个快捷调用方式,无需实际复制文件,可创建别名:

alias test='/bin/cat'

之后在终端输入test即可直接调用原始的/bin/cat,完全避免复制带来的问题。

内容的提问来源于stack exchange,提问作者mai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:22:07