Memaksa perintah `open` untuk membuka aplikasi yang tidak ditandatangani?


21

Saya mengatur preferensi Keamanan saya untuk memungkinkan aplikasi diunduh dari "Mac App Store dan pengembang yang diidentifikasi." Ketika saya mencoba membuka aplikasi yang tidak ditandatangani:

open xyz.app

Saya melihat yang berikut ini:

Aplikasi tidak dapat dibuka

Biasanya, saya klik kanan pada aplikasi dan klik "Open". Ini menampilkan dialog yang serupa, tetapi yang ini menyertakan tombol -tipe "open anyway":

Aplikasi tidak dapat dibuka, dengan tombol terbuka

Apakah ada cara untuk melakukan ini hanya menggunakan openperintah - sesuatu seperti:

open --even-if-unsigned xyz.app

Jawaban:


33
  1. Buat dan tambahkan label Gatekeeper ke aplikasi. ('Disetujui' adalah string yang arbitrer.)

    spctl --add --label "Approved" /path/to/xyz.app
  2. Setujui semua aplikasi dengan label.

    spctl --enable --label "Approved"

    Ini hanya perlu dilakukan sekali dan menambahkan label dengan nama yang sama ke aplikasi di masa depan secara otomatis memungkinkan akses mereka.

  3. Buka aplikasi seperti biasa.

    open xyz.app

Untuk informasi lebih lanjut tentang spctl (Keamanan kebijakan sistem SecAssessment), lihat halaman manual.


3
Ah, tambahan baru dalam daftar hal-hal yang sebelumnya saya hanya tahu bagaimana melakukan GUI, dan sekarang bisa dilakukan di baris perintah! Terima kasih!
LSpice

19

Anda dapat menghapus karantina dari aplikasi:

xattr -r -d com.apple.quarantine /path/to/xyz.app

Anda mungkin ingin / perlu menggunakan sudountuk perintah itu, tergantung pada izin.

Maka Gatekeeper sama sekali tidak terlibat. Tentu saja, itu juga berarti bahwa tanda tangan tidak diverifikasi, yang menghilangkan fitur keselamatan penting.


Saya suka jawaban ini juga. Sayang sekali saya hanya bisa memilih satu!
bonh

Ini berfungsi untuk instalasi OpenJDK manual saya yang diinstal. Terima kasih!
fachexot
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.