/ usr / sbin / installer requer raiz, não Admin, para instalar um pacote

5

Antes do Mountain Lion, eu consegui instalar pacotes com /usr/sbin/installer como usuário Admin. No entanto, com o Mountain Lion, quando tento rodar

installer -pkg blah.pkg -target /

Eu recebo o erro

installer: Must be run as root to install this package.

Eu mexi com a variável IFPkgFlagAuthorizationAction no info.plist do pacote, definindo-o como AdminAuthorization e mesmo UserAuthorization , mas isso não parece ter nenhum efeito.

Eu posso instalar com o sudo para ser executado como root , mas o software (corretamente) espera que eu instale como um usuário que não é root e, portanto, não funciona.

Se eu usar o GUI Installer.app no mesmo pacote (mesmo sem modificação para IFPkgFlagAuthorizationAction ), será solicitado um Admin - não root - password e tudo funciona conforme o esperado.

Como faço para obter o comportamento da ferramenta GUI na linha de comando?

    
por Justin Makeig 28.12.2012 / 23:41

1 resposta

1

Eu me deparei com o mesmo problema hoje. ;)

Não posso ajudá-lo a executar o instalador como root, ao mesmo tempo em que concede aos arquivos instalados a propriedade de um usuário comum, mas você deve conseguir alterar a propriedade após a instalação para obter o mesmo efeito e acabar com essa restrição.

Se, por exemplo, sua conta de usuário for "myusername" e você tiver um grupo como "_developer" que é um grupo de proprietários melhor para o aplicativo que está instalando, você poderá redefinir a propriedade após a instalação por meio de:

sudo chown -R myusername:_developer ~/Library/[MYAPPNAME]
sudo chown -R myusername:_developer ~/Library/Application\ Support/[MYAPPNAME]

Pareceu funcionar na minha situação. Pode ajudá-lo também. Obviamente, caminhos e nomes de usuários / grupos seriam específicos para sua situação. :)

    
por 30.08.2014 / 21:03