MongoDB開啟權(quán)限認(rèn)證的方法步驟詳解
前言
最近在生產(chǎn)環(huán)境中MongoDB已經(jīng)使用有一段時(shí)間了,但對(duì)于MongoDB的數(shù)據(jù)存儲(chǔ)一直沒有使用到權(quán)限訪問(MongoDB默認(rèn)設(shè)置為無權(quán)限訪問限制),最近在酷殼網(wǎng)看了一篇技術(shù)文章(https://coolshell.cn/?s=從+MONGODB+“贖金事件”+看安全問題&from=timeline&isappinstalled=0)介紹的mongodb未開啟權(quán)限認(rèn)證導(dǎo)致數(shù)據(jù)被黑客竊取,要比特幣贖回的事件,考慮到數(shù)據(jù)安全的原因特地花了一點(diǎn)時(shí)間研究了一下,我現(xiàn)在用的版本是MongoDB3.4.2,在Linux系統(tǒng)上進(jìn)行的驗(yàn)證,我在win8上也是類似操作方式開啟。
和其它數(shù)據(jù)庫一樣,權(quán)限的管理都差不多一樣。
但不同的是mongodb的用戶是跟數(shù)據(jù)庫相關(guān)聯(lián)的,具體的數(shù)據(jù)庫,還是需要有對(duì)應(yīng)的用戶,也就是說哪怕是超級(jí)管理員也不能操作其他數(shù)據(jù)庫的。
mongodb存儲(chǔ)所有的用戶信息在admin 數(shù)據(jù)庫的集合system.users中,保存用戶名、密碼和數(shù)據(jù)庫信息。
mongodb默認(rèn)不啟用授權(quán)認(rèn)證,只要能連接到該服務(wù)器,就可連接到mongod。若要啟用安全認(rèn)證,需要更改配置文件參數(shù)--auth。
下面來介紹下開啟權(quán)限認(rèn)證的步驟。
一、非授權(quán)方式創(chuàng)建用戶
1、先以非授權(quán)方式(即不帶--auth參數(shù))登錄創(chuàng)建系統(tǒng)管理員用戶
2、進(jìn)入到mongodb的安裝bin目錄下
3、客戶端登錄
4、切換到admin數(shù)據(jù)庫
5、為admin數(shù)據(jù)庫創(chuàng)建用戶了
6、查看用戶
使用db.system.users.find()命令就可以查看我們剛剛創(chuàng)建的用戶了
最后將殺掉mongodb進(jìn)程,以授權(quán)方式啟動(dòng)
二、授權(quán)方式啟動(dòng)
1、添加--auth參數(shù)授權(quán)啟動(dòng)
2、登錄并切換到admin數(shù)據(jù)庫
3、再查看數(shù)據(jù)庫,會(huì)發(fā)現(xiàn)沒有權(quán)限
這時(shí)就是使用db.auth('hehaitao','hehaitao')啟用auth認(rèn)證
會(huì)看到返回的值為1,這就表示啟動(dòng)成功了,然后我們?cè)偈褂妹畈榭磾?shù)據(jù)庫
發(fā)現(xiàn)就可以使用查看了
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
MongoDB進(jìn)階之動(dòng)態(tài)字段設(shè)計(jì)詳解
這篇文章主要給大家介紹了MongoDB進(jìn)階之動(dòng)態(tài)字段設(shè)計(jì)的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。2017-06-06Mac下安裝配置mongodb并創(chuàng)建用戶的方法
最近在在學(xué)習(xí)nodejs,相比mysql,mongodb與nodejs搭配更合適,存儲(chǔ)數(shù)據(jù)格式也比較接近JS對(duì)象。下面這篇文章主要給大家介紹了關(guān)于在Mac下安裝配置mongodb并創(chuàng)建用戶的相關(guān)資料,需要的朋友可以參考下2018-05-05在PyCharm中安裝Mongo Plugin的詳細(xì)教程
這篇文章主要介紹了在PyCharm中安裝Mongo Plugin的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11mongodb eval 執(zhí)行服務(wù)器端腳本
在MongoDB的服務(wù)器端可以通過db.eval函數(shù)來執(zhí)行javascript腳本,如我們可以定義一個(gè)javascript函數(shù),然后通過db.eval在服務(wù)器端來運(yùn)行!我們前面其實(shí)也接觸過在服務(wù)器段運(yùn)行一個(gè)預(yù)定義的javascript腳本的情況,如在$where查詢,執(zhí)行mapreduce任務(wù)等。2015-05-05MongoDB使用自帶的命令行工具進(jìn)行備份和恢復(fù)的教程
這篇文章主要介紹了MongoDB使用自帶的命令行工具進(jìn)行備份和恢復(fù)的教程,我們只需要在命令行界面中用簡(jiǎn)單的命令操作mongorestore和mongodump工具就可以實(shí)現(xiàn),需要的朋友可以參考下2016-06-06MongoDB數(shù)據(jù)庫部署環(huán)境準(zhǔn)備及使用介紹
這篇文章主要為大家介紹了MongoDB數(shù)據(jù)庫部署環(huán)境準(zhǔn)備以及基本的使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03詳解MongoDB數(shù)據(jù)庫基礎(chǔ)操作及實(shí)例
這篇文章主要介紹了詳解MongoDB數(shù)據(jù)庫基礎(chǔ)操作及實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09