Linux MongoDB分配權(quán)限

mongo.conf文件中加入 auth=true,開啟權(quán)限功能

編輯文件

> sudo gedit /etc/mongo.conf

創(chuàng)建用戶

進(jìn)入mongodb

> mongo

必須先切換到admin用戶下,來創(chuàng)建新用戶

> use admin
switch to db admin

新建root用戶
root用戶擁有所有權(quán)限

> db.createUser({user:'Danile',pwd:'123456',roles:['root']})
Successfully added user: { "user" : "Danile", "roles" : [ "root" ] }

新建只能讀test數(shù)據(jù)庫的用戶

> db.createUser({user:'temp',pwd:'123456',roles:[{role:'read',db:'test'}]})
Successfully added user: {
    "user" : "temp",
    "roles" : [
        {
            "role" : "read",
            "db" : "test"
        }
    ]
}

從客戶端結(jié)束MongoDB進(jìn)程

 db.shutdownServer()

使用用戶登陸MongoDB

使用認(rèn)證模式開啟MongoDB服務(wù)

> sudo mongod --auth

進(jìn)入服務(wù)后
除了登陸用戶其他操作都是不被允許的

> show dbs
2018-08-02T22:16:59.658+0800 listDatabases failed:{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
    "code" : 13
} at src/mongo/shell/mongo.js:47

登陸剛才注冊的用戶

> use admin
switched to db admin
> db.auth('Danile','123456')
1

該用戶有root權(quán)限,可以干任何事

> show dbs
admin   0.078GB
local   0.078GB
person  0.078GB

切換到temp用戶,temp用戶只被允許能夠操作test數(shù)據(jù)庫,其他事情都做不了。

> db.auth('temp','123456')
1
> show dbs
2018-08-02T22:21:14.787+0800 listDatabases failed:{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
    "code" : 13
} at src/mongo/shell/mongo.js:47
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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