Cosa devo fare per com.apple.quarantine?

Ho scaricato alcuni file .jar da internet e li voglio usare sotto Mac OS X. Ma il sistema operativo sembra averli tagliati con l'attributo esteso com.apple.quarantine (nessuna indicazione di questo fino a quando ho notato la " @ " nel ls -l e ha capito come usare ls [email protected] ) – apparentemente perché sono stati scaricati da internet. Qual è il modo giusto per affrontare questo problema?

Questo attributo viene aggiunto in modo che possa richiedere la conferma dell'utente per la prima volta che il programma scaricato viene eseguito per aiutare a impedire il malware. Al momento della conferma l'attributo deve essere rimosso automaticamente e il programma verrà eseguito normalmente.

Non devi affrontarla. Apri e OS X chiederà il tuo permesso. O, come ha suggerito Richard, eliminarlo usando qualcosa di simile:

 xattr -d com.apple.quarantine my_jar.jar 

Per eseguire questa operazione automaticamente per qualsiasi file scaricato è ansible albind un'azione della cartella alla cartella di download, come descritto in macosxhints.com in 10.5: Rimuovere la bandiera di avviso "scaricato" .

E il seguente è stato postato su macosxhints.com da tempo, per Safari: 10.5: Distriggers l'avviso di file scaricato da Internet , sostenendo che si può rimuovere VerifiedDownloadPlugin.plugin da /Library/Internet Plug-Ins . Non l'ho provata.

A parte: a volte è necessario avviare più volte un singolo programma su un Mac. Ciò può essere fatto usando cd /Applications/some-application/ seguito da open -n "Application Name.app" . Questo ha veramente bisogno del suffisso .app ; l'esecuzione di open -n "Application Name" potrebbe avere un GateKeeper che impedisce l'accesso:

Imansible aprire "Nome applicazione" perché è da uno sviluppatore non identificato.

Le tue preferenze di protezione consentono di installare solo applicazioni appartenenti all'App Store Mac e gli sviluppatori identificati.

Sopra, anche eliminando l'attributo esteso com.apple.quarantine non lo risolve, ma utilizzando il suffisso .app funziona bene.

(Non consiglio a nessuno di liberarsi effettivamente dalle misure di sicurezza).

  xattr -d com.apple.quarantine /path/to/file 

È ansible disabilitare in modo permanente gli avvisi con i defaults write com.apple.LaunchServices LSQuarantine -bool false . Distriggers anche le windows di dialogo Gatekeeper anche se non hai consentito alle applicazioni scaricate da qualsiasi punto in Preferenze di sistema.

Ho trovato il seguente command

 find Application.app | while read l; do echo $l; xattr -d com.apple.quarantine "$l"; done 

molto utile quando si cerca di sbarazzarsi dell'attributo. Notare le virgolette doppie intorno a $l – li hai necessari se la cartella delle applicazioni contiene file con uno spazio vuoto nel loro nome.