¿Cómo acceder al llavero de mi usuario desde cron?

0

security list-keychains print:

"/Users/vitaly-zdanevich/Library/Keychains/login.keychain-db"
"/Library/Keychains/System.keychain"

pero el mismo comando de cron return:

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

de cron lo intenté

security default-keychain -s "/Users/vitaly-zdanevich/Library/Keychains/login.keychain-db && security list-keychains"

pero el resultado es el mismo.

En la ayuda de cli-utility security no encontré ninguna otra forma de establecer explícitamente la ruta a la base de datos.

Sí, sé que Apple dice que la mejor manera es usar launchd en lugar de cron , pero es difícil saberlo: es posible manipular mi llavero desde cron ?

    
pregunta Vitaly Zdanevich 29.12.2016 - 07:08

2 respuestas

1

Lee el --help del comando que pretendías usar:

$ security delete-generic-password --help
delete-generic-password: illegal option -- -
Usage: delete-generic-password [-a account] [-s service] [options...] [keychain...]
    -a  Match "account" string
    -c  Match "creator" (four-character code)
    -C  Match "type" (four-character code)
    -D  Match "kind" string
    -G  Match "value" string (generic attribute)
    -j  Match "comment" string
    -l  Match "label" string
    -s  Match "service" string
If no keychains are specified to search, the default search list is used.
        Delete a generic password item.

entonces la solución es:

* * * * * security delete-internet-password -l 'git-codecommit.us-east-1.amazonaws.com' '/Users/vitaly-zdanevich/Library/Keychains/login.keychain-db'

última cadena arg: es la ruta a la base de datos de Llavero.

    
respondido por el Vitaly Zdanevich 29.12.2016 - 07:54
0

Hay otra manera de darle a los trabajos de cron el acceso a nuestros llaveros. Cuando agregue la contraseña usando la seguridad add-generic-password -s SERVICE -a USERID -w PASSWORD, primero debe ejecutar el script manualmente para otorgarle "siempre permiso" a Python para acceder a los llaveros y luego ir a sus llaveros desde el iniciador de aplicaciones y copie el servicio y la contraseña de login.keychians a syste, .keychains como cronjob busca de forma predeterminada los llaveros del sistema y no los llaveros de inicio de sesión. Esto funcionó para mí. Espero que ayude!

    
respondido por el bhoomi shah 08.12.2017 - 19:29

Lea otras preguntas en las etiquetas