it-swarm-pt.tech

O que devo fazer sobre com.Apple.quarantine?

Eu baixei alguns arquivos .jar da internet e quero usá-los no Mac OS X. Mas o sistema operacional parece tê-los marcado com o atributo extended com.Apple.quarantine (sem nenhuma indicação disso até que eu notei o "@" em o ls -l e descobri como usar ls [email protected]) - aparentemente porque eles foram baixados da internet. Qual é o jeito certo de lidar com isso?

89
Jason S

Este atributo é adicionado para que ele possa solicitar a confirmação do usuário na primeira vez que o programa baixado for executado, para ajudar a impedir o malware. Após a confirmação, o atributo deve ser removido automaticamente e, em seguida, o programa será executado normalmente.

61
mark4o

Você não tem para lidar com isso. Abra-o e o OS X pedirá sua permissão. Ou, como Richard sugeriu, exclua-o usando algo como:

xattr -d com.Apple.quarantine my_jar.jar

Para fazer isso automaticamente, para qualquer arquivo baixado, você pode anexar uma ação de pasta à pasta de download, como descrito em macosxhints.com em 10.5: Remova o sinalizador de aviso 'arquivo baixado' .

E o seguinte foi postado em macosxhints.com há muito tempo, para o Safari: 10.5: Desativar o aviso de arquivo 'baixado da internet' , alegando que um pode remover VerifiedDownloadPlugin.plugin de /Library/Internet Plug-Ins. Eu não testei isso.

Como um aparte: às vezes é preciso iniciar um único programa várias vezes em um Mac. Isso pode ser feito usando cd /Applications/some-application/ seguido de open -n "Application Name.app". Isso realmente precisa do sufixo .app; Executar open -n "Application Name" pode ter um GateKeeper parando o acesso:

"Application Name" não pode ser aberto porque é de um desenvolvedor não identificado.

Suas preferências de segurança permitem a instalação de apenas aplicativos da Mac App Store e dos desenvolvedores identificados.

Acima, mesmo remover o atributo estendido com.Apple.quarantine não corrige isso, mas usar o sufixo .app funciona muito bem.

(Eu não estou aconselhando ninguém a se livrar das medidas de segurança.)

80
Arjan
 xattr -d com.Apple.quarantine /path/to/file
20
Richard Hoskins

Você pode desativar os avisos permanentemente com defaults write com.Apple.LaunchServices LSQuarantine -bool false. Ele também desativa as caixas de diálogo do Gatekeeper, mesmo que você não tenha permitido o download de aplicativos de qualquer lugar nas Preferências do Sistema.

5
Lri

Eu encontrei o seguinte comando

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

muito útil ao tentar se livrar do atributo. Observe as aspas duplas em torno de $l - você precisará delas se sua pasta de aplicativos contiver arquivos com um espaço em branco no nome deles.

2
user32911

o xattr agora tem um sinalizador -r para reciclar. Então você não precisa passar por essas coisas. Também tem um -c que limpará todos os flags (incluindo FinderInfo), nem sempre recomendado, a menos que você esteja realmente zangado com isso. :-)

0
OsamaBinLogin