升级Mac OS13后终端执行assume-role命令提示killed的解决求助
Mac OS13下
assume-role进程被Killed的解决办法 1. 检查系统完整性保护(SIP)限制
Mac OS13收紧了SIP规则,第三方工具可能被拦截:
- 先查SIP状态:
csrutil status - 若SIP开启,需进入恢复模式给
assume-role开例外:- 重启Mac,按住
Command + R进入恢复模式 - 打开终端,执行
csrutil enable --without debug - 重启系统后再试
assume-role
- 重启Mac,按住
2. 改用AWS CLI原生角色切换
第三方assume-role工具存在兼容问题的话,直接用AWS官方配置方案:
- 编辑
~/.aws/config,添加如下配置(替换占位符为你的实际信息):[profile my-assumed-role] role_arn = arn:aws:iam::123456789012:role/MyTargetRole source_profile = my-default-profile mfa_serial = arn:aws:iam::123456789012:mfa/MyMFADevice role_session_name = my-session duration_seconds = 28800 - 切换角色时直接指定profile:
aws sts get-caller-identity --profile my-assumed-role,会自动提示输入MFA验证码
3. 修复assume-role的代码签名
未签名的二进制文件在Mac OS13会被直接终止执行:
- 检查签名状态:
codesign -dv --verbose=4 $(which assume-role) - 使用自签名证书给工具签名:
codesign --force --deep -s - $(which assume-role) - 签名完成后重新运行命令测试
4. 确认终端的系统权限
终端权限不足也可能导致进程被kill:
- 打开「系统设置」→「隐私与安全性」→「完全磁盘访问权限」
- 勾选当前使用的终端(Terminal/iTerm2等)
- 重启终端后重试命令
5. 用Rosetta 2运行(M系列芯片Mac)
如果assume-role是x86架构的二进制文件,在M系列芯片Mac上需要依赖Rosetta 2:
- 右键终端图标→「显示简介」→勾选「使用Rosetta打开」
- 重启终端后执行
assume-role命令
内容的提问来源于stack exchange,提问作者Nelson Chen
相关产品推荐
相关产品推荐

