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>” cant 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.