005-老男孩教育每日一题-如何防止Linux命令行或脚本里MySQL登录密码泄露?

运维每日一题

明知山有虎偏向虎山行的方案:

1.1.1 可以通过如下环境变量强制Linux不记录敏感历史命令

在命令行执行HISTCONTROL=ignorespace后,再输入带密码的命令的前面加一个空格登录,登录命令不会被记录到历史记录里。

 

#<==这里是临时生效,要想永久生效,请放入/etc/bashrc。


 

#<==命令的开头要多一个空格。

1.1.2 操作完敏感的命令后可以及时删除命令行记录

执行“history -d 历史命令序号” 清除指定历史记录命令


 

#<==显示历史记录。


 

#<==此条带密码,敏感,待删除。


#<==删除序号为252的历史记录。

#<==序号252对应的带密码登录的命令已经消失。


 

1.1.3 给带密码的启动脚本以及备份脚本等加700权限,用户和组改为root。

chmod 700/data/3306/mysql

#<==可以采用kill信号的关闭方式数据库,从而防止密码泄露。

chmod 700/server/scripts/bak.sh

#<==将密码写入my.cnf配置文件,使得执行备份命令不需要加密码。

1.1.4 把密码写入my.cnf配置文件并加700权限,用户和组改为mysql。


 

#<==配置文件开头添加如下三行,无需重启系统。


 

#<==客户端模块标签。


 

#<==用户参数及密码。


 

#<==密码参数及密码。


 

#<==此时登录数据库就不用输入密码了。


 

知道山上有老虎,就不去的的方法:


 

#<==这里标准dba命令行登陆命令,交互式输入密码可有效防止密码泄露。


今天是老男孩教育每日一题陪伴大家的第5天。

对于题目和答案的任何疑问,请在博客评论区留言。

往期题目索引

https://www.drscrewdriver.com/100.html

继续阅读