需要创建简单的mysql-backup脚本。
但是 - 如何在其中存储MySQL用户的加密传递?
我希望在任何其他文件中避免使用纯文本类型的商店密码。
正如我在MySQL手册中找到的那样:
MySQL使用自己的算法
加密存储在用户表中的密码
因此。没有办法获得hash
并将其设置为变量?
我的意思是:
DBHASH="cGFzc3dvcmQ="
DBPASS=`echo $DBHASH | openssl enc -base64 -d`
有没有正确的方法来解决它? 感谢您的提示。
答案 0 :(得分:7)
如果脚本包含一个明文密码,如果它包含进入MySQL的可重复例程(即自动解密),则无关紧要 - 攻击者也会这样做。如果您可以传递散列/解密密码并进行MySQL比较,那么它就是可重复的(无论如何散列都将起到密码的作用)。
所以,简单的答案是:你不能这样做。你有一些选择...
请记住,“备份帐户”不需要写权限等...
答案 1 :(得分:2)
afaict,没有办法做你正在寻找的事情。无论您是存储哈希值还是原始密码,无论如何,如果有人获得对您脚本的读取权限,您仍会存储非常合理的信息,这些信息可能是邪恶的。
您可能更喜欢的是设置一个无法登录的用户帐户,并设置mysql,以便用户拥有脚本的完全权限。并且还使得该用户是唯一具有exec访问权限的用户。