Executando Aplicativos não identificados do desenvolvedor como um Não-administrador

1

Estou acostumado com o Windows, mas recentemente comecei a usar uma máquina OS X restrita (não posso executar aplicativos de desenvolvedores não identificados) e quero torná-la completa sem ter que reformatar, redefinir / recriar o administrador, etc.

Eu tenho MagicPrefs instalado apenas colocando o arquivo em uma pasta de programas sob minha conta de usuário e ele apenas funciona, mas gedit tem um erro de desenvolvedor não identificado e até mesmo um clique direito requer privilégios de administrador (eu não posso desligar gatekeeper de Preferências do Sistema )

As versões portáteis dos aplicativos do OS X podem ser uma solução para os principais aplicativos.

    
por MLM 20.04.2013 / 22:20

2 respostas

2

Participe de um aplicativo que você normalmente executa, como um da loja de aplicativos ou da Internet. Certifique-se de que você tem permissão para alterá-lo. Para isso, recomendo baixar um aplicativo de internet simples como o Keka e arrastá-lo para a área de trabalho.

Duplique o aplicativo clicando com o botão direito e selecionando Abrir conteúdo do pacote. Arraste o conteúdo do aplicativo e preencha o shell do aplicativo vazio com o conteúdo do aplicativo de um desenvolvedor não identificado.

O sistema o lê como um aplicativo criado por um desenvolvedor identificado e você pode executá-lo normalmente.

    
por 28.03.2014 / 08:47
0

A única maneira de "assinar automaticamente" um aplicativo para o Gatekeeper é se inscrever no Programa Apple Developer (atualmente US $ 100 / anualmente), inscrever-se em um certificado de assinatura de código e instalar o XCode para criar "seu" aplicativo. / p>

Você pode criar um aplicativo no XCode e incluir apenas o conteúdo do outro aplicativo que você realmente deseja executar no pacote do aplicativo e assiná-lo com seu certificado. Este aplicativo pode ser iniciado em qualquer lugar (embora você possa estar violando a licença do software original).

Obviamente, isso não é muito prático. O método sugerido em outra resposta aqui para copiar o conteúdo para o pacote de outro aplicativo não irá, por si só, contornar o Gatekeeper. A verificação "Desenvolvedor conhecido" exige que o pacote do aplicativo contenha uma subpasta _CodeSignature e um ID do aplicativo que corresponda ao desenvolvedor assinado no arquivo Info.plist do pacote. Ambos serão destruídos se você substituir todo o conteúdo, e a substituição seletiva do conteúdo resultará em um aplicativo que possui uma assinatura de código que não corresponde à do aplicativo que está reivindicando.

Se esse método de 'transplante' funcionar, não é porque ele engana o Gatekeeper; em vez disso, porque impede que o Gatekeeper seja invocado. Independentemente de um pacote de aplicativos estar assinado, o sistema do Gatekeeper só verificará os aplicativos "em quarentena". Isso significa que um sinalizador de atributo estendido foi adicionado ao arquivo, o que indica que ele foi baixado da Internet ou, de outra forma, de uma fonte desconhecida. O Safari e o Mail adicionarão esse sinalizador aos arquivos baixados, mas não há necessidade de que todos os aplicativos se comportem dessa maneira. Você pode ver esse sinalizador executando o comando ls -l@ no diretório que contém seu pacote de aplicativos:

drwxr-xr-x@ 3 self  wheel      102 Jul  7  2013 My Sketchy App.app
    com.apple.quarantine         57 

Se você copiar o conteúdo de um aplicativo no pacote de outro aplicativo, o aplicativo recém-criado terá os atributos estendidos que o pacote já fez. Portanto, se ele não tiver um sinalizador quarantine , o seu novo aplicativo também não poderá ser lançado. Mas se tiver um quarantine , ainda assim, e o Gatekeeper entrará em vigor.

Transplantar o conteúdo do aplicativo é apenas uma maneira indireta de remover esse sinalizador. Você pode realizar a mesma coisa simplesmente removendo diretamente o banner quarantine do aplicativo, assim:

xattr -d com.apple.quarantine "./My Sketchy App.app"

ou você pode remover indiretamente o sinal quarantine iniciando / permitindo o aplicativo em outro Mac (que não tem restrições do Gatekeeper em vigor ou em que você tenha uma conta de administrador que permita substituí-lo) e copiando-o para a máquina restrita por meio de um método que não recria o sinalizador (aplicativos copiados de um compartilhamento SMB, por exemplo, não serão colocados em quarentena).

História longa: o clique com o botão direito do mouse em "Abrir" (ou "Abrir mesmo" na tela Segurança das Preferências do sistema) adiciona uma exceção ao Gatekeeper do aplicativo em questão, que exige privilégios de administrador. Remover o sinalizador quarantine de um aplicativo requer apenas permissões de gravação para o pacote de aplicativos e impede que o Gatekeeper se envolva.

    
por 20.11.2015 / 20:36