MongoDB默認(rèn)設(shè)置為無權(quán)限訪問限制注:研究成果基于Windows平臺(tái)
在部署mongodb成功后,進(jìn)入控制臺(tái): / 輸入命令:mongod use admin,你會(huì)發(fā)現(xiàn)該DB下包含了一個(gè)system.user表,呵呵,沒錯(cuò),這個(gè)表就等同于MsSql中的用戶表,用來存放超級(jí)管理員的,那我們就往它里面添加一個(gè)超級(jí)管理員試試看里我添加一個(gè)超級(jí)管理員用戶,username為admin,password也為admin,即然我們添加了超級(jí)管理員,那咱們就來測(cè)試下,看看咱們?cè)俅芜B接MongoDB需不需要提示輸入用戶名、密碼,我們先退出來。
輸入命令:mongod use admin
輸入命令:show collections,查看該庫下所有的表,你會(huì)發(fā)現(xiàn),MongoDB并沒有提示你輸入用戶名、密碼,那就奇怪了,這是怎么回事呢?在文章最開始提到了,
MongoDB默認(rèn)設(shè)置為無權(quán)限訪問限制,即然這樣,那我們就先把它設(shè)置成為需要權(quán)限訪問限制,咱們?cè)倏纯葱Ч趺丛O(shè)置呢?
在注冊(cè)表中,找到MongoDB的節(jié)點(diǎn),在它的ImgPath中,我們修改一下,加入 -auth,如下所示:mongod
修改完成后再次進(jìn)入控制臺(tái),發(fā)現(xiàn)需要密碼驗(yàn)證了。
別忘了重啟當(dāng)前服務(wù)
輸入用戶名和密碼就可以驗(yàn)證了。
別急,還沒有完。
當(dāng)退出窗口后,再次啟動(dòng)進(jìn)入窗口后,通過use mydatabase來切換另一個(gè)庫后,查看庫下面的表,發(fā)現(xiàn)又沒有權(quán)限了。但是,通過之前命令先進(jìn)入admin庫,然后驗(yàn)證用戶名和密碼后再進(jìn)入mydatabase庫就沒有問題。這樣我們就可以進(jìn)入mydatabase庫后在添加用戶 db.addUser(username,password);
這樣就可以通過用戶名和密碼來進(jìn)入mydatabase庫了。
新聞熱點(diǎn)
疑難解答