Comment puis-je «ouvrir une application à partir d'un développeur non identifié» sans utiliser l'interface graphique?

12

Fondamentalement, j'ai utilisé le Safari.appnavigateur Web natif pour télécharger une application tierce et je veux l'exécuter opendans le confort de mon bashshell / Terminal.appCLI; malgré le message d'erreur suivant:

“<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]|
voix
la source

Réponses:

30

Vous devrez soit modifier les paramètres sous Préférences Système > Sécurité et confidentialité > Général > Autoriser les applications téléchargées de: vers N'importe où ou dans un terminal , xattr supprimez l' attribut com.apple.quarantine du ou des fichiers téléchargés.

xattr -dr com.apple.quarantine "unidentified_thirdparty.app"
user3439894
la source
J'étais au courant de la méthode GUI. La partie suivante semble cependant parfaite. À quoi fait exactement com.apple.quarantineréférence l'argument (attribut)?
voix
@ tjt263, Désolé, je n'ai pas vu votre commentaire jusqu'à présent ... Tous les objets du système de fichiers ont des attributs, par exemple des informations que vous verriez dans la sortie de la ls -l filecommande. Les objets du système de fichiers ont également des attributs étendus, dont l' com.apple.quarantineun est attribué aux objets téléchargés depuis Internet par OS X pour empêcher l'exécution arbitraire et donc un niveau de protection du système. L'utilisation de ls -lR@ fileou xattr −lr fileaffichera des informations d'attribut étendues, ces dernières produiront des informations plus détaillées. Voir man xattrpour plus d'informations.
user3439894
Sensationnel. C'est intéressant. Je n'en savais rien. Est-ce que d'autres systèmes d'exploitation ont quelque chose comme ça en place?
voix
Vous pouvez également utiliser soit un clic droit (alias ctrl-clic) et choisissez "Ouvrir", pour permettre d'exécuter uniquement cette application.
Hawken Rives
1
@HawkenRives, oui, il s'agit d'un paramètre global et non de l'exécution ou de l'ouverture réelle du fichier comme le fait le clic droit sur le fichier. Utiliser une xattrpartie de ma réponse couvre la ligne de commande et le terminal.
user3439894
0

Saisissez-le dans le terminal sous un compte administrateur: sudo spctl --master-disable

John Smith
la source
Cela désactive complètement Gatekeeper. Et ce n'est pas une réponse à la question.
l1ghthouse