Não é possível usar / usr / bin / security para recuperar a senha do keychain via cron

2

Parece que não consigo recuperar senhas de keychain com êxito usando / usr / bin / security quando eu executo o crontab de meus usuários. Funciona bem no meu terminal.

Eu também posso ver através da saída do cron mail que meu USER, HOME e PATH estão sendo definidos corretamente dentro do cron.

Eu consegui determinar que, quando ele é executado no cron, ele só vê as chaves do sistema e não as chaves dos meus usuários:

    "/Library/Keychains/System.keychain"
    "/Library/Keychains/System.keychain"

Eu então disse a / usr / bin / security para usar explicitamente o keychain de meus usuários e agora não recebo saída, mas o código de saída é 36.

#security error 36
Error: 0x00000024 36 CSSM_ERRCODE_OBJECT_ACL_REQUIRED

Eu não consigo descobrir o que isso significa.

Eu especifiquei meu PATH no cron e tentei executar / usr / bin / security dentro de um shell de login do bash via bash -l -c /usr/bin/security...

Aqui está o comando do cron que estou executando:

bash -l -c '/usr/bin/security find-generic-password -g -a myusername -s test_vault /Users/myusername/Library/Keychains/login.keychain 2>&1 ; echo $?'

As mensagens que recebo do cron mostram que o PATH está sendo coletado com sucesso.

Alguma ideia? Obrigado!

    
por Shane 10.03.2016 / 09:47

1 resposta

3

Parece, portanto, que eu estava tentando executar isso no meu crontab, porque o próprio cron é executado como root, mas ainda assim não era permitido acessar meus keychains.

Eu encontrei este post que fala sobre o uso do launchd para agendar trabalhos e meu trabalho agora funciona bem via launchd! :)

    
por 11.03.2016 / 00:24