在命令行中跳过 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
查看。
加载中...