¿Forzando el comando `abrir` para abrir una aplicación sin firmar?

21

Tengo configuradas mis preferencias de seguridad para permitir aplicaciones descargadas de "Mac App Store y desarrolladores identificados". Cuando intento abrir una aplicación sin firmar:

open xyz.app

Veo lo siguiente:

La aplicación no se puede abrir

Por lo general, hago clic derecho en la aplicación y hago clic en "Abrir". Esto abre un diálogo similar, pero este incluye un botón de tipo "abrir de todos modos":

La aplicación no se puede abrir con el botón Abrir

¿Hay alguna manera de hacer esto solo usando el opencomando? Algo como:

open --even-if-unsigned xyz.app
bonh
fuente

Respuestas:

33
  1. Cree y agregue una etiqueta Gatekeeper a la aplicación. ('Aprobado' es una cadena arbitraria).

    spctl --add --label "Approved" /path/to/xyz.app
  2. Aprobar todas las aplicaciones con la etiqueta.

    spctl --enable --label "Approved"

    Esto solo se debe hacer una vez y agregar la misma etiqueta con nombre a las aplicaciones en el futuro automáticamente permite su acceso.

  3. Abre la aplicación como siempre.

    open xyz.app

Para obtener más información sobre spctl (seguridad de la política del sistema SecAssessment), consulte la página del manual.

grg
fuente
3
¡Ah, una nueva adición a la lista de cosas que antes solo sabía hacer GUI-ly, y ahora puedo hacer en la línea de comando! ¡Gracias!
LSpice
19

Puede quitar la cuarentena de la aplicación:

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

Es posible que desee / necesite usar sudoese comando, según los permisos.

Entonces Gatekeeper no está involucrado, en absoluto. Por supuesto, eso también significa que la firma no está verificada, lo que elimina una característica de seguridad importante.

Ken Thomases
fuente
También me encanta esta respuesta. ¡Es una pena que solo pueda elegir uno!
bonh
Esto funcionó para mi instalación de OpenJDK instalada manualmente. ¡Gracias!
fachexot