web-dev-qa-db-fra.com

Comment stocker des informations sensibles (mots de passe) afin qu'elles soient accessibles par cronjob?

J'écris une extension pour un programme python qui devra stocker les mots de passe et devra y accéder pendant les tâches cron non interactives (pendant que l'utilisateur n'est pas connecté).

Ma première approche a été d'utiliser seahorse pour stocker le mot de passe. Mais seahorse n'est pas accessible lorsque l'utilisateur n'est pas connecté, n'est-ce pas?

3
Germar

une autre approche:

Un démon démarre lors de la première connexion des utilisateurs, collecte les mots de passe à partir de gnome-keyring et fournit un fifo privé (mode 0600) sur lequel il attendra les demandes (par exemple, `` PROTOCOLE: UTILISATEUR @ Hôte '') et répondra avec un mot de passe.

0
Germar

Vous devrez probablement stocker le mot de passe dans un fichier qui n'est lisible que par root. Les tâches crontab s'exécutent en tant que root pour y avoir accès, mais pas les autres utilisateurs du système.

S'il est acceptable d'exiger que l'utilisateur se connecte en premier, vous pouvez demander à l'utilisateur d'exécuter un programme pour transférer le mot de passe du gnome-keyring (seahorse) vers un fichier appartenant à l'utilisateur sur un système de fichiers tmpfs. De cette façon, il n'est jamais stocké non chiffré sur un stockage non volatile.

2
John S Gruber