MongoDB4.28開啟權(quán)限認(rèn)證配置用戶密碼登錄功能
MongoDB默認(rèn)不啟用授權(quán)認(rèn)證,只要能連接到該服務(wù)器,就可連接到mongod。若要啟用安全認(rèn)證,需要更改配置文件mongdb.conf中的參數(shù)auth。
MongoDB的用戶是跟數(shù)據(jù)庫(kù)相關(guān)聯(lián)的,具體的數(shù)據(jù)庫(kù),需要有對(duì)應(yīng)的用戶,超級(jí)管理員也不能操作其他數(shù)據(jù)庫(kù)的。
MongoDB存儲(chǔ)所有的用戶信息在admin 數(shù)據(jù)庫(kù)的集合system.users中,保存用戶名、密碼和數(shù)據(jù)庫(kù)信息。
MongoDB開啟權(quán)限認(rèn)證:配置用戶名和密碼認(rèn)證登錄,操作步驟:
1、查看是否開啟認(rèn)證登錄
$cd /usr/local/mongodb/bin $cat mongodb.conf
#數(shù)據(jù)文件存放目錄
dbpath = /usr/local/mongodb/data
#日志文件存放目錄
logpath = /usr/local/mongodb/logs/mongodb.log
logappend=true
#端口
port = 27017
#以守護(hù)程序的方式啟用,即在后臺(tái)運(yùn)行
fork = true
#認(rèn)證模式(true代表開啟認(rèn)證登錄,false代表未開啟認(rèn)證登錄)
auth=false
#遠(yuǎn)程連接
bind_ip=0.0.0.0
2、開啟用戶名和密碼認(rèn)證(創(chuàng)建用戶均需進(jìn)入admin數(shù)據(jù)庫(kù))
2.1、為admin數(shù)據(jù)庫(kù)創(chuàng)建管理員賬號(hào)
1、數(shù)據(jù)庫(kù)admin創(chuàng)建管理員賬號(hào)
[root@hadoop-master bin]# mongo
> use admin
> db.createUser({user:"root",pwd:"lianshi",roles:["root"]})2、查看目前用戶
> show users
2.2、為數(shù)據(jù)庫(kù)mytest創(chuàng)建普通用戶
1、給數(shù)據(jù)庫(kù)mytest創(chuàng)建cg用戶
>use mytest
> db.createUser({user:"cg",pwd:"lianshi",roles:[{role:"readWrite",db:"mytest"}]})
2、查看目前用戶
> show users >db.system.users.find()命令可以查看新創(chuàng)建的用戶
2.3、配置文件開啟用戶名密碼認(rèn)證
#認(rèn)證模式(true代表開啟認(rèn)證登錄,false代表未開啟認(rèn)證登錄) auth=true
3、重啟mongo服務(wù)
[root@hadoop-master bin]# ps -ef |grep mongo [root@hadoop-master bin]# kill -9 15231 $./mongod -f mongodb.conf
4、mongo授權(quán)訪問
4.1、admin數(shù)據(jù)庫(kù)授權(quán)登錄
1、mongo訪問
[root@hadoop-master bin]# mongo > use admin switched to db admin > show users 2020-06-21T20:14:59.735+0800 E QUERY [js] uncaught exception: Error: command usersInfo requires authentication : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DB.prototype.getUsers@src/mongo/shell/db.js:1638:15 shellHelper.show@src/mongo/shell/utils.js:883:9 shellHelper@src/mongo/shell/utils.js:790:15 @(shellhelp2):1:1 -->授權(quán)配置并重啟后,此時(shí)查看用戶,會(huì)發(fā)現(xiàn)沒有權(quán)限
2、用用戶和密碼登錄
> db.auth("root","lianshi")--->使用db.auth(“root”,”lianshi”)啟用auth認(rèn)證,看到返回的值為1,這就表示啟動(dòng)成功了,然后我們?cè)偈褂妹畈榭从脩艉蛿?shù)據(jù)庫(kù)。

4.1、mytest數(shù)據(jù)庫(kù)授權(quán)登錄
1、mongo訪問
> use mytest; switched to db mytest > show users 2020-06-21T21:25:41.293+0800 E QUERY [js] uncaught exception: Error: command usersInfo requires authentication : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DB.prototype.getUsers@src/mongo/shell/db.js:1638:15 shellHelper.show@src/mongo/shell/utils.js:883:9 shellHelper@src/mongo/shell/utils.js:790:15 @(shellhelp2):1:1 --->報(bào)錯(cuò)沒有權(quán)限
2、用戶和密碼登錄用戶
> db.auth("cg","lianshi");使用db.auth(“cg”,”lianshi”)啟用auth認(rèn)證,看到返回的值為1,這就表示啟動(dòng)成功了,然后我們?cè)偈褂妹畈榭从脩艉蛿?shù)據(jù)庫(kù)。
> show dbs
mytest 0.000GB
> db.student.insert({"id":"2","name":"yxy"})
WriteResult({ "nInserted" : 1 })
其他用戶命令:
1、創(chuàng)建普通用戶(創(chuàng)建用戶cg,對(duì)mytest數(shù)據(jù)庫(kù)讀寫權(quán)限)
> db.createUser({user:"cg",pwd:"lianshi",roles:[{role:"readWrite",db:"mytest"}]})2、刪除用戶>db.dropUser("yonghu")
3、修改用戶密碼
db.updateUser("cg",{pwd:"123456"})4、進(jìn)入數(shù)據(jù)mytest,用戶名密碼認(rèn)證
> db.auth("cg","lianshi");5、客戶端工具授權(quán)登錄連接mongo數(shù)據(jù)庫(kù)
用戶名和密碼連接數(shù)據(jù)庫(kù)

到此這篇關(guān)于MongoDB4.28開啟權(quán)限認(rèn)證配置用戶密碼登錄功能的文章就介紹到這了,更多相關(guān)MongoDB權(quán)限認(rèn)證登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mongodb基本操作與Python連接mongodb并進(jìn)行基礎(chǔ)操作的方法
mongodb是基于分布式文件存儲(chǔ)的nosql(非關(guān)系型)數(shù)據(jù)庫(kù),本文分享了mongodb的基礎(chǔ)操作和Python連接并操作mongodb的基礎(chǔ)方法,基礎(chǔ)的不能再基礎(chǔ)了2018-09-09
MongoDB教程之?dāng)?shù)據(jù)操作實(shí)例
這篇文章主要介紹了MongoDB教程之?dāng)?shù)據(jù)操作實(shí)例,本文講解了批量插入、數(shù)據(jù)庫(kù)清除、數(shù)據(jù)更新、修改器、數(shù)組修改器、upsert等內(nèi)容,需要的朋友可以參考下2015-05-05
MongoDB排序時(shí)內(nèi)存大小限制與創(chuàng)建索引的注意事項(xiàng)詳解
在數(shù)據(jù)量超大的情形下,任何數(shù)據(jù)庫(kù)系統(tǒng)在創(chuàng)建索引時(shí)都是一個(gè)耗時(shí)的大工程,下面這篇文章主要給大家介紹了關(guān)于MongoDB排序時(shí)內(nèi)存大小限制與創(chuàng)建索引的注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下2022-05-05
Mongodb UPDATE使用$sort將數(shù)組重新排序的示例代碼
$sort方法在$push操作過程中,修改數(shù)組元素的排序,$sort方法,必須和$each共同使用,mongodb允許用戶傳遞一個(gè)空的數(shù)組給$each方法,保證用戶無須向數(shù)組中插入元素也可以將數(shù)組進(jìn)行排序,本文給大家介紹了Mongodb UPDATE使用$sort將數(shù)組重新排序,需要的朋友可以參考下2024-06-06

