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

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

Antes do Mountain Lion, eu conseguia instalar pacotes /usr/sbin/installercomo usuário administrador. No entanto, com o Mountain Lion, quando tento correr

installer -pkg blah.pkg -target /

eu recebo o erro

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

Eu brinquei com a IFPkgFlagAuthorizationActionvariável no info.plist do pacote, definindo-a como AdminAuthorizatione even UserAuthorization, mas isso não parece ter nenhum efeito.

Posso instalar com sudo para realmente rodar como root, mas o software (corretamente) espera que eu instale como não- rootusuário e, portanto, não funciona.

Se eu usar a GUI Installer.app no ​​mesmo pacote (mesmo sem modificação em IFPkgFlagAuthorizationAction), será solicitada uma senha de administrador - não root- e tudo funcionará conforme o esperado.

Como obtenho o comportamento da ferramenta GUI na linha de comando?

Responder1

Encontrei o mesmo problema hoje. ;)

Não posso ajudá-lo a executar o instalador como root enquanto atribui aos arquivos instalados a propriedade de um usuário comum, mas você poderá alterar a propriedade após a instalação para obter o mesmo efeito e, finalmente, contornar essa restrição.

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

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

Pareceu funcionar na minha situação. Pode ajudar você também. É claro que caminhos e nomes de usuários/grupos seriam específicos para sua situação. :)

informação relacionada