如何在您的 Mac 上打开来自“身份不明的开发者”的应用程序

已发表: 2022-01-29

macOS 有一个名为“Gatekeeper”的功能,旨在锁定你的 Mac,强制它默认只运行 Apple 认可的软件。 但是 Mac 被锁定的方式与 Android 被锁定的方式相同——你仍然可以自由运行任何你想要的应用程序。

根据您运行的 macOS 版本,Gatekeeper 的工作方式略有不同。 旧版本可让您通过简单的开关将其关闭,而 macOS Sierra 使事情变得更复杂一些。 这是你需要知道的。

网守如何工作

每当您在 Mac 上启动新应用程序时,Gatekeeper 都会检查它是否已使用有效签名进行签名。 如果应用程序使用有效签名进行签名,则允许运行。 如果不是,您将看到一条警告消息,并且您的 Mac 将阻止该应用程序运行。

但并非每个 Mac 应用程序都经过签名。 网络上提供的一些应用程序(尤其是较旧的应用程序)只是没有签名,即使它们是值得信赖的。 也许它们已经有一段时间没有更新了,或者开发人员只是没有打扰。 这就是为什么 Apple 提供了一种绕过 Gatekeeper 的方法。 (如果您正在开发自己的应用程序,您可能还想绕过这个并运行未签名的应用程序。)

相关:如何在 Mac 上安装应用程序:您需要知道的一切

Gatekeeper 知道三种不同类型的应用程序:

  • Mac App Store 中的应用程序:您从 Mac App Store 安装的应用程序被认为是最值得信赖的,因为它们已通过 Apple 审查程序并由 Apple 自己托管。 它们也是沙盒化的,尽管这是许多应用程序开发人员不使用 Mac App Store 的原因。
  • 来自 Identified Developers的应用程序:Mac 应用程序开发人员可以从 Apple 获得一个唯一的开发人员 ID,并使用它来签署他们的应用程序。 此数字签名确保应用程序实际上是由该特定开发人员创建的。 例如,当您在 Mac 上安装 Google Chrome 时,它​​会使用 Google 的开发者 ID 进行签名,因此 Apple 允许它运行。 如果发现开发人员滥用了他们的开发人员 ID——或者它被黑客获取并使用它来签署恶意应用程序——则可以撤销开发人员 ID。 通过这种方式,Gatekeeper 可确保只有经过麻烦获得开发者 ID 且信誉良好的合法开发者创建的应用程序才能在您的计算机上运行。
  • 来自其他任何地方的应用程序:不是从 Mac App Store 获得且未使用开发者 ID 签名的应用程序属于最后一类。 Apple 认为这些是最不安全的,但这并不意味着应用程序不可信——毕竟,多年未更新的 Mac 应用程序可能无法正确签名。

默认设置是只允许来自前两个类别的应用程序:Mac App Store 和已识别的开发者。 此设置应提供良好的安全性,允许用户从应用商店获取应用或从 Web 下载签名应用。

如何打开未签名的应用程序

如果您尝试通过双击打开未签名的应用程序,它将无法正常工作。 您会看到“[App Name] 无法打开,因为它来自身份不明的开发者”消息。

广告

当然,有时您可能会遇到需要使用的未签名应用程序。 如果您信任开发人员,您可以告诉您的 Mac 无论如何都要打开它。

警告:Gatekeeper 是一项安全功能,它默认开启是有原因的。 仅运行您信任的应用程序。

要打开未签名的应用程序,您需要右键单击或按住 Control 键单击该应用程序并选择“打开”。 这适用于 macOS Sierra 以及以前版本的 macOS。

系统会警告您该应用程序来自身份不明的开发人员 - 换句话说,它没有使用有效的开发人员签名进行签名。 如果您信任该应用程序,请单击“打开”以运行它。

而已。 您的 Mac 将记住您允许运行的每个特定应用程序的此设置,并且下次运行该应用程序时不会再次询问您。 您只需在第一次运行新的未签名应用程序时执行此操作。

广告

这是运行少数未签名应用程序的最佳、最安全的方法。 只需允许每个特定的应用程序运行,确保在运行之前信任每个应用程序。

如何允许来自任何地方的应用程序

在旧版本的 macOS 中,您可以从系统偏好设置 > 安全和隐私中完全禁用 Gatekeeper。 您只需从“允许下载的应用程序”设置中选择“任何地方”。

不过,在 macOS 10.12 Sierra 中,Apple 改变了这一点。 您不能再从“系统偏好设置”窗口完全禁用 Gatekeeper。 就是这样——删除了一个图形选项。 您仍然可以选择运行单个未签名的应用程序,并且有一个隐藏的命令行选项可以完全绕过 Gatekeeper。 但 Apple 不希望知识较少的用户禁用此安全功能,因此隐藏了该开关,就像禁用系统完整性保护的选项一样。

相关:如何在 Mac 上禁用系统完整性保护(以及为什么不应该)

如果您知道自己在做什么并且需要更改设置,则可以,但我们不建议这样做。

首先,打开一个终端窗口。 按Command + Space,键入“终端”,然后按Enter启动一个。 或者,您可以打开 Finder 窗口并前往应用程序 > 实用程序 > 终端。

在终端窗口中运行以下命令并提供您的密码:

 sudo spctl --master-disable 

广告

完成后,前往系统偏好设置 > 安全和隐私。 您会发现旧的“Anywhere”选项已返回并已启用。

如果您选择“任何地方”设置,您的 Mac 现在将像以前一样运行,并且未签名的应用程序将毫无问题地运行。

要撤消此更改,只需在“安全和隐私”窗格中选择“App Store 和已识别的开发人员”或“App Store”。


Apple 正试图通过对知识较少的用户隐藏此选项来使 macOS 更加安全。 如果您需要运行未签名的应用程序,我们鼓励您只允许它们一个一个,而不是禁用 Gatekeeper 并允许所有未签名的应用程序运行。 它几乎同样简单,并确保在您的计算机上运行您自己不认可的任何内容。