小編給大家分享一下MySQL如何實現密碼加密認證的簡單腳本,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創新互聯于2013年創立,是專業互聯網技術服務公司,擁有項目網站設計制作、成都網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元瓜州做網站,已為上家服務,為瓜州各地企業和個人服務,聯系電話:028-86922220
MySQL登錄的時候,如果明文指定了密碼,在登錄成功之后就會拋出下面的警告。
[root@dev01 /]# mysql -uroot -pxxxx
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2837
不要小看這個錯誤,有些業務驗證是不允許出現Warning的,所以可能有些大廠還需要自己定制一下這個錯誤的邏輯。
當然如果不需要知道密碼,能不能換個方式來做呢,其實也行,在5.6中開始有了loginpath,和Oracle中的錢包的功能差不多,其實就是一種認證,做了授權,你不需要知道這些信息,loginpath就是一道橋梁為你做了認證。
如果你是5.5的版本,沒了loginpath,有沒有可行的方案來滿足需求呢。
有的同學可能這個時候才開始問,需求是什么?
我們設想一下,命令行的方式中,輸入明文密碼,那還要密碼干嘛,干脆我輸入密碼的時候你別看,但是history命令里面有啊。
所以這也算是一個風險點的入口,如果因為一些意外的情況登錄,那么這種情況就很尷尬了。這是需求一。
還有一種場景,如果我們有大量的MySQL環境,每個環境的DBA賬戶密碼是統一的,但是密碼很復雜。我們不能輸入明文,那么就輸入密碼格式,那就意味著交互和手動輸入,手動輸入簡直了,你會發現這種操作真是原始,高級一點,用下keypass或者keepass等,這個是依賴于本地的環境配置。所以需求二的特點就是手工維護密碼啰嗦,手工輸入密碼太原始。
那我們寫腳本,但是腳本里面的密碼還是可見的,調用的明文密碼問題解決了,但是內容中的密碼還是可讀的。
所以這種情況下,一個很自然的方法就是加密。
其中一種是對密碼加密,比如我們得到一個密碼加密后的串,在需要調用的時候做一下解密,得到真實的密碼。這個過程是在腳本里的邏輯來實現,所以我們得到明文密碼的概率要低一些。
另外一類就是對文件加密,比如對整個文件加密,加密之后文件就沒法讀了。所以加密后的密碼又被加密了。對文件加密有shell的方式還有python等語言會
如果要調用腳本的時候,其實就是先解密文件,然后調用解密邏輯,得到真正的密碼,然后開啟訪問的請求。
比如我得到了一個加密后的密碼串。調用的解密邏輯是decrypt_passwd,當然這個是可讀還可逆的,我們其實可以再加入一些復雜的因子來干擾。
腳本的初步內容如下:
sec_password='RHB6WUF1d1c5TTEzabadfo='
dec_passwd=''
sql_block=''
function decrypt_passwd
{
tmp_passwd=$1
dec_passwd=`echo $tmp_passwd|base64 -d`
}
decrypt_passwd $sec_password
instance_ip=$1
instance_port=$2
port=$1
if [ ! -n "$port" ]; then
echo '############################################'
echo 'Please input correct MySQL Port and try again.'
echo '############################################'
ps -ef|grep mysqld|grep -v grep |grep -v mysqld_safe
exit
fi
/usr/local/mysql/bin/mysql -udba_admin -p$dec_passwd -h227.0.0.1 -P$1
這樣一個簡單的文件,使用gzexe來加密即可,就是我們初步預期的效果了。
這個文件就類似一個二進制文件,我們拷貝到任何服務器端,指定入口,就可以方便的訪問了。
以上是“MySQL如何實現密碼加密認證的簡單腳本”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!
網頁標題:MySQL如何實現密碼加密認證的簡單腳本
瀏覽地址:http://vcdvsql.cn/article44/iijeee.html
成都網站建設公司_創新互聯,為您提供服務器托管、域名注冊、網站制作、營銷型網站建設、定制開發、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯