在命令行中跳过 macOS 对可执行文件的安全检查

2024-08-30#macOS

当首次运行从网络下载的可执行文件(比如从 Github Releases 页面下载的众多可执行文件)时,即使这些文件已经有执行权限,macOS 也常常会阻止其运行。通常的做法是打开系统设置,允许其运行。其实,也可以在命令中完成操作。

在系统设置中允许执行未经认证的可执行文件 🔗

当运行这种可执行文件时,系统会弹框提示:

“xxxx” cannot be opened because the developer cannot be verified. 

macOS cannot verify that this app is free from malware.

这是因为这些可执行文件没有经过开发者认证。此时打开 System Settings - Privacy & Security,可以看到 Security 下的有一段提示:

"xxxx" was blocked from use because it is not from an identified developer.

并且旁边有一个按钮 Allow Anyway。通常点击这个 Allow Anyway 按钮,即可运行可执行文件的运行。

在命令行中允许执行未经认证的可执行文件 🔗

在命令行中,可使用 xattr 工具完成与点击 Allow Anyway 相同效果的任务。xattr 是 macOS 中用于管理文件扩展属性的命令行工具。文件扩展属性可以存储额外的信息,比如文件的元数据和安全标签。而下载的应用程序可能会被标记为来自不明开发者,导致执行时出现警告。此时使用 xattr 可以移除这种标记,从而允许执行:

xattr -d com.apple.quarantine 可执行文件的路径

这里的 com.apple.quarantine 是一个标记,用于指示文件已被下载并可能存在安全风险。-d 即是删除的标记。xattr 的更多用法使用 xattr --help 查看。


加载中...