2017-10-20 57 views
0

J'ai lu Where can I set environment variables that crontab will use? sur la façon de définir les variables ENV pour mes scripts exécutés par cron.Comment exécuter des tâches cron avec des données sensibles?

La solution de travail la plus évidente et est de mettre les variables au-dessus du fichier de programme crontab comme ceci:

MYVAR=something 
* * * * * /somescript.sh 

Cela semble être bien jusqu'à ce que je veux que mon script pour utiliser des valeurs sensibles comme login/mot de passe pour vous connecter à, par exemple une base de données pour faire un vidage.

Comment puis-je conserver ces données en toute sécurité et pouvoir les envoyer à mes scripts lancés par cron?

Répondre

0

Je vois que cette question est liée aux scripts et à la gestion des mots de passe/comptes en général, ce qui est encore un sujet ouvert et à ma connaissance, il n'y a pas de façon "simple" de résoudre cela. Stocker simplement les informations d'identification dans un fichier séparé que vous chargeriez ensuite à travers le script. Limiter l'accès aux informations d'identification à ce fichier (c'est-à-dire uniquement la racine). Si le service auquel vous essayez d'accéder a déjà un système de chargement en place, comme ~/.mysqlrc, vous pouvez l'utiliser directement pour accéder au service.

Plus d'informations peuvent être trouvées ici: https://unix.stackexchange.com/questions/212329/hiding-password-in-shell-scripts