Come accedere a Keychain del mio utente da cron?

0

security list-keychains print:

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

ma lo stesso comando da cron return:

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

da cron ho provato

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

ma il risultato è lo stesso.

Con l'aiuto di cli-utility security non ho trovato nessun altro modo per impostare esplicitamente il percorso del db.

Sì, so che Apple dice che il modo migliore è usare launchd invece di cron , ma mi piacerebbe sapere - è possibile manipolare il mio portachiavi da cron ?

    
posta Vitaly Zdanevich 29.12.2016 - 07:08
fonte

2 risposte

1

Leggi --help del comando che intendevi usare:

$ 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.

quindi la soluzione è:

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

last arg string - è il percorso del portachiavi db.

    
risposta data 29.12.2016 - 07:54
fonte
0

C'è un altro modo per dare a cron job l'accesso ai nostri portachiavi. Quando aggiungi la password usando la sicurezza add-generic-password -s SERVICE -a USERID -w PASSWORD, devi prima eseguire manualmente lo script per dare il permesso "sempre permesso" a python di accedere ai portachiavi e poi andare al tuo portachiavi da Avvio applicazioni e copia quel servizio e password da login.keychians a syste, .keychains come cronjob per impostazione predefinita cerca nei portachiavi di sistema e non nei portachiavi di login. Questo ha funzionato per me. Spero che ti aiuti!

    
risposta data 08.12.2017 - 19:29
fonte

Leggi altre domande sui tag