GUI'yi kullanmadan nasıl “Tanımlanamayan bir geliştiriciden bir uygulama açabilirim”?


13

Temel olarak, Safari.appbir üçüncü taraf uygulamasını indirmek için yerel web tarayıcısını kullandım ve kabuğumun / CLI'nin openrahatlığından çalıştırmak istiyorum aşağıdaki hata mesajına rağmen:bashTerminal.app

“<unidentified_thirdparty.app>” can’t be opened because it is from an unidentified 
 developer. Your security preferences allow installation of only apps from the Mac 
 App Store and identified developers. Safari downloaded this file on <today's_date> 
 from <the.inter.net>.
                                          |[OK]|

Yanıtlar:


31

Ya altında ayarlarını değiştirmek gerekecek Sistem Tercihleri > Güvenlik ve Gizlilik > Genel > : Allow indirilen uygulamalar için herhangi bir yere veya bir yer Terminali , şerit xattr com.apple.quarantine indirilen dosya (lar) dan niteliği.

xattr -dr com.apple.quarantine "unidentified_thirdparty.app"

GUI yönteminin farkındaydım. Bir sonraki kısım da yerinde görünüyor. com.apple.quarantine(Nitelik) argümanı tam olarak ne anlama gelir?
— sesler

1
@ tjt263, Üzgünüz, şu ana kadar yorumunuzu görmedim ... Tüm dosya sistemi nesnelerinin öznitelikleri vardır, örneğin ls -l filekomutun çıktısında gördüğünüz bilgiler . Dosya sistemi nesneleri com.apple.quarantine, keyfi yürütmeyi önlemeye ve böylece sistemi koruma düzeyine yardımcı olmak için OS X tarafından Internet'ten indirilen nesnelere atanan genişletilmiş özniteliklere de sahiptir . Kullanılması ls -lR@ fileveya xattr −lr filehangi irade çıkışı daha kapsamlı bilgi ikinci genişletilmiş özellik bilgileri gösterecektir. Daha man xattrfazla bilgi için bakınız .
— user3439894

Vay. İlginç. Bunu bilmiyordum. Diğer İşletim Sistemlerinde böyle bir şey var mı?
— sesler

Ayrıca, yalnızca o uygulamanın yürütülmesine izin vermek için sağ tıklamayı (ctrl-click olarak da bilinir) kullanabilir ve "Aç" ı seçebilirsiniz.
— Hawken Rives

1
@HawkenRives, Evet, dosyanın sağ tıklatıldığı gibi gerçekte çalışan veya açılmayan global bir ayar olduğu için yapar. xattrCevabımın bir kısmını kullanarak komut satırını ve Terminal'i kaplayın.
— user3439894

0

Bunu Terminal'e bir yönetici hesabı altında girin: sudo spctl --master-disable


Bu, Gatekeeper'ı tamamen kapatır. Ve bu sorunun cevabı değil.
— l1 feneri

0

Komut satırında akıllıca yapmak için

  • attr -p com.apple.quarantine unidentified_thirdparty.app gibi bir şey çıktılar 0081;5e7fec61;Chrome;6585C1D3-E260-4275-9E6E-505DF8D6B7EE
  • Çıktı dizesini kopyalayın, ilk 4 karakteri değiştirin 00c1
  • Çalıştırmak attr -w com.apple.quarantine 00c1;5e7fec61;Chrome;6585C1D3-E260-4275-9E6E-505DF8D6B7EE unidentified_thirdparty.app

veya

Bu adımları tek bir komutta birleştirin

attr -w com.apple.quarantine "$(attr -p com.apple.quarantine unidentified_thirdparty.app | sed 's/^.\{4\}/00c1/' )" unidentified_thirdparty.app

Bu konudaki blog yazım .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.