MongoDB權(quán)限管理

本系列文章學(xué)習(xí)來源是技術(shù)胖的MogoDB系列

??安裝好MongoDB時,它為我們默認開了一個最高管理權(quán)限方便我們管理數(shù)據(jù)庫,我們可以用mongo鏈接數(shù)據(jù)庫,就是這個原因。但在實際開發(fā)中考慮到安全性問題,并一般不能使用這個用戶,要對MongoDB的用戶進行管理。

創(chuàng)建用戶
??創(chuàng)建用戶可以用db.createUser方法來完成。

db.createUser({
    user:"zyb",
    pwd:"123456",
    customData:{
        name:'zyb',
        email:'123456@qq.com',
        age:23,
    },
    roles:['read']
})

??還可以單獨配置一個數(shù)據(jù)庫的權(quán)限,比如我們現(xiàn)在要配置user數(shù)據(jù)庫的權(quán)限為讀寫:

db.createUser({
    user:"zyb",
    pwd:"123456",
    customData:{
        name:'zyb',
        email:'123456@qq.com',
        age:23,
    },
    roles:[
        {
            role:"readWrite",
            db:"user"
        },
        'read'
    ]
})

查找用戶信息

db.system.users.find()

刪除用戶

db.system.users.remove({user:"zyb"})

建權(quán)
??有時候我們要驗證用戶的用戶名密碼是否正確,就需要用到MongoDB提供的建權(quán)操作,也算是一種登錄操作,不過MongoDB把這叫做建權(quán)。

db.auth("zyb","123456")

如果正確返回1,如果錯誤返回0。(Error:Authentication failed。)

啟動建權(quán)
??重啟MongoDB服務(wù)器,然后設(shè)置必須使用建權(quán)登錄。

mongod --auth

??啟動后,用戶登錄只能用用戶名和密碼進行登錄,原來的mongo形式鏈接已經(jīng)不起作用了,相應(yīng)的用戶權(quán)限也對應(yīng)妥當(dāng),實際項目中我們啟動服務(wù)器必須使用建權(quán)形式。

登錄
??如果在配置用戶之后,用戶想登錄,可以使用mongo的形式,不過需要配置用戶名密碼:

mongom  -u zyb -p 123456 127.0.0.1:27017/admin

??這時候就可以用給定的權(quán)限對數(shù)據(jù)庫操作了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容