標籤:mysql 老男孩教育 每日一題
不低於3種方法。
明知山有虎偏向虎山行的方案:
1.1.1 可以通過如下環境變數強制Linux不記錄敏感曆史命令
在命令列執行HISTCONTROL=ignorespace後,再輸入帶密碼的命令的前面加一個空格登入,登入命令不會被記錄到記錄裡。
[[email protected]~]# HISTCONTROL=ignorespace
#<==這裡是臨時生效,要想永久生效,請放入/etc/bashrc。
[[email protected]~]# mysql -uroot-p‘oldboy123‘
#<==命令的開頭要多一個空格。
1.1.2 操作完敏感的命令後可以及時刪除命令列記錄
執行“history -d 曆史命令序號” 清除指定記錄命令
[[email protected]~]# history|tail -4
#<==顯示記錄。
252 mysql -uroot -p‘oldboy123‘
#<==此條帶密碼,敏感,待刪除。
253 pwd 254 history 255 history|tail -4[[email protected]~]# history -d 252
#<==刪除序號為252的記錄。
[[email protected]~]# history|tail -5 252 pwd
#<==序號252對應的帶密碼登入的命令已經消失。
253 history 254 history|tail -4 255 history -d 252 256 history|tail -5執行“history -c”清除所有所有記錄[[email protected]~]# history -c[[email protected]~]# history 1 history執行“>~/.bash_history”清除記錄檔案
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。
[[email protected]~]# cp /application/mysql/my.cnf /etc/[[email protected]~]# grep -A 2 client/etc/my.cnf
#<==設定檔開頭添加如下三行,無需重啟系統。
[client]
#<==用戶端模組標籤。
user=root
#<==使用者參數及密碼。
password=oldboy123
#<==密碼參數及密碼。
[[email protected]~]# mysql
#<==此時登入資料庫就不用輸入密碼了。
Welcometo the MySQL monitor. Commands endwith; or \g.YourMySQL connection id is 8Serverversion: 5.6.34 Source distribution...省略若干行...Type‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clearthe current input statement.mysql>
知道山上有老虎,就不去的的方法:
[[email protected]~]# mysql-uroot -p
#<==這裡標準dba命令列登陸命令,互動式輸入密碼可有效防止密碼泄露。
Enter password:
650) this.width=650;" border="0" src="http://a3.qpic.cn/psb?/V13TZzNY3ZQEre/CuFtWIxZRsGAlsbRADoSmx6RKiffeOhJXp3rddVBKfU!/b/dGcBAAAAAAAA&bo=gAK9AAAAAAADBx0" alt="老男孩培訓交流群09-2k" title="老男孩培訓交流群09-2k" />
本文出自 “李導的部落格” 部落格,請務必保留此出處http://lidao.blog.51cto.com/3388056/1912536
老男孩教育每日一題:2017年3月13日-如何防止Linux命令列或指令碼裡MySQL登入密碼泄露?