Defina a preferência de aplicativo do OS X para interromper a solicitação de senha de administrador

3

Estou tentando escrever um applescript que envia algumas ações para um aplicativo (especificamente waterroof). O problema é que o aplicativo me pergunta periodicamente a senha de administrador quando abro o painel de configurações em que estou interessado. Ele funciona com um atraso de tempo, portanto, se eu já inseri a senha nos x minutos anteriores, ela não avisa. Como não posso confiar em ser perguntado, não posso considerar a pausa e a inserção da senha como parte do script.

Existe uma maneira de informar ao aplicativo / SO que eu quero ficar logado no aplicativo com privilégios de administrador, e que ele não deveria me perguntar? Eu quero esgotar essa possibilidade antes de tentar verificar sua existência, etc. em código.

    
por Ben Packard 22.08.2011 / 03:40

1 resposta

0

Até onde eu sei, o tempo limite para autorização no OS X (se feito corretamente) é definido no Banco de Dados de Política localizado em etc/authorization , geralmente de forma programática. Parece um arquivo plist e, se um item não tiver uma chave de 'timeout', ele não terá tempo limite.

Eu sei que a preferência é normalmente definida no código usando as APIs da Apple (como mostrado na Guia de Programação dos Serviços de Autorização e o função referência).

Este é um arquivo protegido. Use algo como sudo pico /private/etc/authorization para editá-lo.

A entrada neste arquivo terá um título usando um tipo de descritor 'com.company.application.right' ou algo parecido (por exemplo, com.apple.itunes.copy, com.stackexchange.superuser.deleteuser) - que é específico para cada aplicação, então procure por isso. (Está em ordem alfabética para facilitar as coisas, acredito).

Senãohouvertalentrada,oaplicativoprovavelmenteagarraaautorizaçãodeoutraformaqueeunãoconheço.Eutenteiadicionarumtempolimiteaumaplicativoqueeuescrevi-funcionou.Emseguida,apagueinovamente-eotempolimitedesapareceu.Devefuncionarnoseucaso,euestousupondo.

Vocêmencionaumpaineldeconfigurações-seissoenvolverasPreferênciasdoSistema,tambémnãoseicomofunciona.Nãohácomofazerissoatravésdoapplescript.

Edit:Senãohouvertalentrada

OutramaneiraqueumaplicativopodeautorizaréusarométodoagoraobsoletoeinseguroAuthorizationExecuteWithPrivileges.Euestousupondoque,seumaplicativonãotemsuaprópriaentradanobancodedadosdepolíticas,eleusaAuthorizationExecuteWithPrivileges.Podeserqueoaplicativocomoqualvocêestátentandotrabalharuseisso.

HáumaentradanoBancodeDadosdePolíticaparaessemétodoespecíficochamadosystem.privilege.admin,masobservequemodificarissoeexcluirotempolimiteprovavelmentealteraráotempolimitedetodososaplicativosusandoAuthorizationExecuteWithPrivileges,nãoapenasoquevocêestátentandomudar.Podevalerapenatentar.

    
por 22.08.2011 / 05:31