如何在您的 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 並允許所有未簽名的應用程序運行。 它幾乎同樣簡單,並確保在您的計算機上運行您自己不認可的任何內容。