2017年下半年新發(fā)布的MongoDB 3.6版本在安全性上做了很大提升,主要?dú)w結(jié)為兩點(diǎn):
1.將bind_ip 默認(rèn)值修改為了localhost;
2. 在db.createUser()
和 db.updateUser()
中添加了authenticationRestrictions 參數(shù),可以用來控制Client端發(fā)來的請求源IP以及請求的Server端指定IP。
以下說明和測試主要是針對第一點(diǎn)。
以前的版本默認(rèn)Mongo服務(wù)啟動后,使用Server IP 可以直接登入,但是3.6 已將服務(wù)啟動bind_ip的默認(rèn)值限定為localhost。
因此,即使在Local Server使用ServerIP登入也會報錯。
圖1>
只能使用localhost登入
圖2>
修改方式,修改conf 配置文件,調(diào)整bind_ip參數(shù),將本地IP賦予此參數(shù)。賦予后使用Server IP登入可以,但此時使用localhost 失敗。為了同時兼容2種登入方式,將參數(shù)的賦值調(diào)整為:
bind_ip=localhost,172.XXX.XXX.XXX
中間使用登號隔開。
圖3>驗證說明采用上述參數(shù)配置后2種登入方式都可以。
圖3>
說明:(1) 如果不想做IP限制,可以將bind_ip 賦值為0.0.0.0 或者 在配置文件中啟用另外一個參數(shù)bind_ip_all,將其設(shè)置為true。
以上兩種設(shè)置都可以滿足localhost登入和指定ServerIP登入。 當(dāng)指定bind_ip_all參數(shù)時,配置文件中可以沒有bind_ip參數(shù)。
(2)登入默認(rèn)的數(shù)據(jù)庫不同。在3.6 版本,默認(rèn)的連接數(shù)據(jù)庫變成了test,而3.4/3.2 版本默認(rèn)是admin庫。所以,在設(shè)置具有root權(quán)限的管理員賬號時,請先轉(zhuǎn)至admin下操作(因為賬號的查詢,系統(tǒng)只有在admin才可以查詢,所以root權(quán)限的賬號,建議在admin庫創(chuàng)建,用戶數(shù)據(jù)庫的賬號,轉(zhuǎn)到用戶數(shù)據(jù)庫下創(chuàng)建)。賬號的刪除一定要在歸屬庫下刪除。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- Golang之casbin權(quán)限管理的實現(xiàn)
- Go 實現(xiàn)一次性打包各個平臺的可執(zhí)行程序
- go install/build生成的文件命名和路徑操作
- 解決go 生成的exe不在bin文件夾里的問題