您好,登錄后才能下訂單哦!
這篇文章主要介紹mongodb開(kāi)啟身份認(rèn)證的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
開(kāi)啟身份認(rèn)證的兩種方式
1、連接時(shí)使用命令參數(shù) --auth
mongod --auth --port 27017 --dbpath '數(shù)據(jù)庫(kù)文件的絕對(duì)路徑'
2、修改mongod.conf文件
如果你使用配置文件啟動(dòng)mongodb,在配置文件中加入下列內(nèi)容,這里有兩種寫(xiě)法:
YMAL的配置文件格式(mongodb2.6版本之后引入的配置文件格式)
注意:這里有一個(gè)大坑,yaml格式的配置文件,要求是同冒號(hào)+空格來(lái)分隔鍵值對(duì),否則會(huì)解析錯(cuò)誤。(當(dāng)時(shí)折騰了很久)
security: authorization: enabled
可以使用命令mongod -f /etc/mongod.conf啟動(dòng)mongodb,如果解析錯(cuò)誤,會(huì)在終端打印出失敗的原因,沒(méi)有信息說(shuō)明mongod實(shí)例啟動(dòng)成功了!
2.6版本之前的配置文件格式(向后兼容的,所以?xún)煞N格式的配置可以混用)
auth=true
以上兩種修改方式,大家選擇一種即可,修改完之后使用命令sudo service mongod restart 重啟服務(wù),再使用命令service mongod status查看服務(wù)是不是真的啟動(dòng)了,如果顯示mongod start/running說(shuō)明啟動(dòng)成功。之后就啟用了角色訪(fǎng)問(wèn)控制,用戶(hù)只能訪(fǎng)問(wèn)已被授予權(quán)限的數(shù)據(jù)庫(kù)資源和操作。
小貼士:windows用戶(hù)可以參考如下命令,將mongodb安裝為服務(wù),這樣就不用每次都去啟動(dòng)mongod實(shí)例
#安裝服務(wù) mongod --config "E:\someSoftWare\MongoDB\mongodb.config" --install --serviceName "mongo" #卸載服務(wù) mongod --dbpath "E:\someSoftWare\data\db" --logpath "E:\someSoftWare\data\log\mongodb.log" --remove #啟動(dòng)服務(wù) net start mongo
注意:這里config文件的路徑要加雙引號(hào)("),否則會(huì)一直提示找不到文件
使用用戶(hù)管理員登錄數(shù)據(jù)庫(kù)
在連接期間進(jìn)行身份驗(yàn)證
mongo --port 27017 -u "登錄名" -p "密碼" --authenticationDatabase "數(shù)據(jù)庫(kù)名"
如果驗(yàn)證失敗會(huì)在命令行打印如下信息
連接成功之后再認(rèn)證 #連接 mongo --port 27017 #進(jìn)入admin數(shù)據(jù)庫(kù) use admin #在admin數(shù)據(jù)庫(kù)中認(rèn)證 db.auth('用戶(hù)管理員名稱(chēng)','密碼')
驗(yàn)證成功打印1,失敗打印0.
使用用戶(hù)管理員創(chuàng)建其他用戶(hù),細(xì)化管理。
給某個(gè)數(shù)據(jù)創(chuàng)建具有讀權(quán)限的用戶(hù)
#給test數(shù)據(jù)庫(kù)添加 db.createUser({ user:"readUser", pwd:'123qwezxc', roles:[ { role:"read", db:"test" } ] })
創(chuàng)建具有讀寫(xiě)權(quán)限的用戶(hù)
db.createUser({ user:"readWriteUser", pwd:'123qwezxc', roles:[ { role:"readWrite", db:"test" } ] })
創(chuàng)建具有數(shù)據(jù)備份權(quán)限的用戶(hù)(只能在admin數(shù)據(jù)庫(kù)中添加)
db.createUser({ user:"backupUser", pwd:'123qwezxc', roles:[ { role:"backup", db:"admin" } ] })
注意:db只能指定admin,因?yàn)閎ackup和restore角色都在admin數(shù)據(jù)據(jù)庫(kù)中
創(chuàng)建具有數(shù)據(jù)備份權(quán)限的用戶(hù)(只能在admin數(shù)據(jù)庫(kù)中添加)
db.createUser({ user:"restoreUser", pwd:'123qwezxc', roles:[ { role:"restore", db:"admin" } ] })
mongodb系統(tǒng)內(nèi)置了很多角色,這里就不一一列舉了,可以查看mognodb內(nèi)置角色,創(chuàng)建符合自己需求的用戶(hù)。
以上是mongodb開(kāi)啟身份認(rèn)證的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。