如何防止Linux命令行或脚本里MySQL登录密码泄露
如何防止Linux命令行或脚本里MySQL登录密码泄露?
①可以通过如下环境变量强制Linux不记录敏感历史命令
在命令行执行HISTCONTROL=ignorespace后,再输入带密码的命令的前面加一个空格登录,登录命令不会被记录到历史记录里。
[root@kolor ~]# HISTCONTROL=ignorespace
表示忽略以空白字符开头的命令。
这里是临时生效,要想永久生效,请放入/etc/bashrc。
[root@kolor ~]# mysql -uroot -p'123'
②操作完敏感的命令后可以及时删除命令行记录
执行“history -d 历史命令序号” 清除指定历史记录命令
[root@kolor~]# history -d 252
执行“history -c”清除所有所有记录
[root@kolor~]# history -c
③给带密码的启动脚本以及备份脚本等加700权限,用户和组改为root。
④把密码写入my.cnf配置文件并加700权限,用户和组改为mysql。
<==配置文件开头添加如下三行,无需重启系统。
[client] #<==客户端模块标签。
user=root #<==用户参数及密码。
password=123 #<==密码参数及密码。
[root@kolor ~]# mysql
#<==此时登录数据库就不用输入密码了。