3 votes

Comment accéder au trousseau de mon utilisateur à partir de cron ?

security list-keychains imprimer :

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

mais la même commande de cron retour :

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

de cron J'ai essayé

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

mais le résultat est le même.

A l'aide de cli-utility security Je n'ai pas trouvé d'autre moyen de définir explicitement le chemin d'accès à la base de données.

Oui, je sais qu'Apple dit que la meilleure façon de procéder est d'utiliser launchd au lieu de cron Je voudrais savoir s'il est possible de manipuler mon trousseau de clés à partir d'un ordinateur. cron ?

3voto

Vitaly Zdanevich Points 189

Lire le --help de la commande que vous avez l'intention d'utiliser :

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

La solution est donc la suivante :

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

last arg string - c'est le chemin d'accès à la base de données du trousseau.

3voto

Jan Algermissen Points 2915

Il existe une autre façon de donner à la tâche cron l'accès à nos trousseaux de clés. Lorsque vous ajoutez le mot de passe en utilisant security add-generic-password -s SERVICE -a USERID -w PASSWORD, vous devez d'abord exécuter le script manuellement pour donner la permission à Python d'accéder aux trousseaux de clés et ensuite aller dans vos trousseaux de clés à partir du lanceur d'applications et copier le service et le mot de passe de login.keychians à syste,.keychains car cronjob par défaut regarde dans les trousseaux de clés du système et non dans les trousseaux de clés de la connexion. Cela a fonctionné pour moi. J'espère que cela vous aidera !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X