濮阳杆衣贸易有限公司

主頁 > 知識庫 > MongoDB為用戶設(shè)置訪問權(quán)限

MongoDB為用戶設(shè)置訪問權(quán)限

熱門標(biāo)簽:福州電銷機(jī)器人源代碼 徐州ai電銷機(jī)器人原理 機(jī)器人外呼系統(tǒng)軟件存在問題 企業(yè)智能外呼系統(tǒng)價(jià)格多少 高德地圖標(biāo)注商戶位置 兗州電話外呼營銷系統(tǒng) 沈陽營銷電銷機(jī)器人招商 智能電銷機(jī)器人銷售話術(shù) 南京400電話怎樣辦理
MongoDB已經(jīng)使用很長一段時(shí)間了,基于MongoDB的數(shù)據(jù)存儲也一直沒有使用到權(quán)限訪問(MongoDB默認(rèn)設(shè)置為無權(quán)限訪問限制),今天特地花了一點(diǎn)時(shí)間研究了一下,研究成果如下:

注:研究成果基于Windows平臺
MongoDB在本機(jī)安裝部署好后
1. 輸入命令:show dbs,你會發(fā)現(xiàn)它內(nèi)置有兩個(gè)數(shù)據(jù)庫,一個(gè)名為admin,一個(gè)名為local。local好像沒啥用,如果哪位在使用過程中發(fā)現(xiàn)了這個(gè)local表的用途,希望能夠留言提醒,那我們就專心來說說admin表
2. 輸入命令:use admin,你會發(fā)現(xiàn)該DB下包含了一個(gè)system.user表,呵呵,沒錯(cuò),這個(gè)表就等同于MsSql中的用戶表,用來存放超級管理員的,那我們就往它里面添加一個(gè)超級管理員試試看
3. 輸入命令:db.addUser('sa','sa'),這里我添加一個(gè)超級管理員用戶,username為sa,password也為sa,即然我們添加了超級管理員,那咱們就來測試下,看看咱們再次連接MongoDB需不需要提示輸入用戶名、密碼,我們先退出來(ctrl+c)
4. 輸入命令:use admin
5. 輸入命令:show collections,查看該庫下所有的表,你會發(fā)現(xiàn),MongoDB并沒有提示你輸入用戶名、密碼,那就奇怪了,這是怎么回事呢?在文章最開始提到了,
MongoDB默認(rèn)設(shè)置為無權(quán)限訪問限制,即然這樣,那我們就先把它設(shè)置成為需要權(quán)限訪問限制,咱們再看看效果,怎么設(shè)置呢?
6. 在注冊表中,找到MongoDB的節(jié)點(diǎn),在它的ImgPath中,我們修改一下,加入 -auth,如下所示:
"D:\Program Files\mongodb\bin\mongod" -dbpath e:\work\data\mongodb\db -logpath e:\work\data\mongodb\log -auth -service
7. 輸入命令:use admin
8. 輸入命令:show collections,呵呵,我們發(fā)現(xiàn)無法查看該庫下的表了,提示:"$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",很明顯,提示沒有權(quán)限,看來關(guān)鍵就在于這里,我們在啟動MongoDB時(shí),需要加上-auth參數(shù),這樣我們設(shè)置的權(quán)限才能生效,好,接下來我們使用剛剛之前設(shè)置的用戶名、密碼來訪問
9. 輸入命令:db.auth('sa','sa'),輸出一個(gè)結(jié)果值為1,說明這個(gè)用戶匹配上了,如果用戶名、密碼不對,會輸入0
10. 輸入命令:show collections,呵呵,結(jié)果出來了,到這里,權(quán)限設(shè)置還只講到一多半,接著往下講,我們先退出來(ctrl+c)
11. 輸入命令:mongo TestDB,我們嘗試連接一個(gè)新的庫(無論這個(gè)庫是否存在,如果不存在,往該庫中添加數(shù)據(jù),會默認(rèn)創(chuàng)建該庫),然后,我們想看看該庫中的表
12. 輸入命令:show collections,好家伙,沒權(quán)限,我們輸入上面創(chuàng)建的用戶名、密碼
13. 輸入命令:db.auth('sa','sa'),輸入結(jié)果0,用戶不存在,這下有人可能就不明白了,剛剛前面才創(chuàng)建,怎么會不存在呢?原因在于:當(dāng)我們單獨(dú)訪問MongoDB的數(shù)據(jù)庫時(shí),需要權(quán)限訪問的情況下,用戶名密碼并非超級管理員,而是該庫的system.user表中的用戶,注意,我這里說的是單獨(dú)訪問的情況,什么是不單獨(dú)訪問的情況呢?接下來再講,現(xiàn)在咋辦,沒權(quán)限,那我們就嘗試給庫的system.user表中添加用戶
14. 輸入命令:db.addUser('test','111111'),哇靠,仍然提示沒有權(quán)限,這可咋辦,新的數(shù)據(jù)庫使用超級管理員也無法訪問,創(chuàng)建用戶也沒有權(quán)限,呵呵,別急,即然設(shè)定了超級管理員用戶,那它就一定有權(quán)限訪問所有的庫
15. 輸入命令:use admin
16. 輸入命令:db.auth('sa','sa')
17. 輸入命令:use TestDB
18. 輸入命令:show collections,哈哈,一路暢通無阻,我們發(fā)現(xiàn)可以利用超級管理員用戶訪問其它庫了,呵呵,這個(gè)就是不單獨(dú)訪問的情況,不難發(fā)現(xiàn),我們是先進(jìn)入admin庫,再轉(zhuǎn)到其它庫來的,admin相當(dāng)于是一個(gè)最高級別官員所在區(qū)域,如果你是個(gè)地產(chǎn)商,想在地方弄個(gè)大工程做做,你想不經(jīng)過那些高級官員就做,這是行不通的,你需要先去到他們那里,送點(diǎn)禮,再順著下到地方,工程你就可以拿到手了,此言論僅為個(gè)人觀點(diǎn),不代表博客園;即然工程拿到手了,就要開始建了,那我們不至于每加塊磚、添個(gè)瓦都得去和那幫高級官員打招呼吧,所以我們得讓這個(gè)工程合法化,咱們得把相關(guān)的手續(xù)和證件弄齊全,不至于是違建
19. 輸入命令:db.addUser('test','111111'),我們給TestDB庫添加一個(gè)用戶,以后每次訪問該庫,我都使用剛剛創(chuàng)建的這個(gè)用戶,我們先退出(ctrl+c)
20. 輸入命令:mongo TestDB
21. 輸入命令:show collections,提示沒有權(quán)限
22. 輸入命令:db.auth('test','111111'),輸出結(jié)果1,用戶存在,驗(yàn)證成功
23. 輸入命令:show collections,沒再提示我沒有權(quán)限,恭喜您,成功了
注:當(dāng)需要使用權(quán)限才能訪問MongoDB時(shí),如果需要查看MongoDB中所有的庫,我們只能通過超級管理員權(quán)限,輸入命令show dbs來查看了。
您可能感興趣的文章:
  • MongoDB 簡單入門教程(安裝、基本概念、創(chuàng)建用戶)
  • MongoDB數(shù)據(jù)庫用戶角色和權(quán)限管理詳解
  • MongoDB 用戶管理
  • MongoDB在系統(tǒng)數(shù)據(jù)庫local中無法創(chuàng)建用戶的解決辦法
  • mongodb基礎(chǔ)之用戶權(quán)限管理實(shí)例教程
  • Mac下安裝配置mongodb并創(chuàng)建用戶的方法
  • Mongodb 3.2.9開啟用戶權(quán)限認(rèn)證問題的步驟詳解
  • MongoDB快速入門筆記(七)MongoDB的用戶管理操作
  • MongoDB系列教程(四):設(shè)置用戶訪問權(quán)限
  • Windows下MongoDB配置用戶權(quán)限實(shí)例
  • mongodb 添加用戶及權(quán)限設(shè)置詳解
  • MongoDB 用戶相關(guān)操作

標(biāo)簽:丹東 景德鎮(zhèn) 大理 鶴崗 吉安 昭通 邯鄲 本溪

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB為用戶設(shè)置訪問權(quán)限》,本文關(guān)鍵詞  MongoDB,為,用戶,設(shè)置,訪問,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB為用戶設(shè)置訪問權(quán)限》相關(guān)的同類信息!
  • 本頁收集關(guān)于MongoDB為用戶設(shè)置訪問權(quán)限的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    清镇市| 阿拉善盟| 玉山县| 宽甸| 新宾| 黎城县| 富裕县| 阿勒泰市| 天等县| 兴化市| 秀山| 富源县| 平武县| 兴山县| 长顺县| 许昌市| 怀仁县| 荔浦县| 类乌齐县| 溧阳市| 逊克县| 商城县| 通江县| 灵寿县| 和顺县| 修水县| 偏关县| 安平县| 秀山| 河北省| 额敏县| 伊吾县| 射洪县| 杨浦区| 乌审旗| 长垣县| 西宁市| 梅河口市| 望城县| 富平县| 屏山县|