J'ai quelques outils BASH qui utilisent la mysql -e "{command}"
fonction. Entrer le mot de passe chaque fois que j'utilise ces outils serait une douleur, donc, pour éviter d'avoir le mot de passe écrit dans un fichier en clair avec le code, je le stocke en mémoire (en utilisant read -s
) et demande à BASH de le lire chaque fois qu'il exécute les commandes.
Mysql pense toujours que le mot de passe est soumis via la ligne de commande (parce que, en quelque sorte, il l'est), et me donne toujours l'erreur "L'utilisation d'un mot de passe sur l'interface de ligne de commande peut être peu sûre."
Pour mes besoins, je n'ai pas besoin de supprimer ce message. Ce que j'ai besoin de savoir, qu'est-ce qui pourrait le rendre précaire? Le mot de passe n'est jamais physiquement visible, donc le surf sur l'épaule ne pouvait pas le faire et même quelqu'un qui a deviné mon mot de passe SSH ne pourrait pas le faire car il est stocké dans la mémoire plutôt que dans les scripts eux-mêmes. Une attaque de l'homme du milieu ou quelque chose de similaire est-elle possible?
bash
lu lorsque vous exécutez la commande? Si vous le faites, mysql -p"$pass"
n'importe qui peut le voir ps
.
~/.my.cnf
exemple Vous pouvez spécifier par hôte en faisant par[client<hostname>]
exemple, les[clientlocalhost]
outils MySQL l'utiliseront automatiquement afin qu'il soit plus facile et plus sûr