MongoDB使用者許可權管理,設定密碼並連線

BloggerSb發表於2024-04-02

MongoDB使用者許可權管理,設定密碼並連線
如何設定密碼
在服務啟動狀態下,在命令列中輸入mongo;
首先設定admin表的使用者(必須,否則單獨設定表使用者無用),先執行use admin,再執行db.createUser({user: 'root', pwd: '123456', roles: ['root']}) ,此時會建立一個名為root,密碼為123456,角色為root的使用者,前兩者可以自定義設定;
測試是否建立成功db.auth('root', '123456') ,返回1表示成功;
接下來為自己的資料庫設定使用者,假設我們的資料庫名叫mydb先執行use mydb,再執行db.createUser({user:'myuser',pwd:'123456',roles: [{role:'readWrite',db:'mydb'}]}),此時會建立一個名為myuser,密碼為123456,角色為只能讀寫的使用者。

原文連結:https://blog.csdn.net/zmdmwh/article/details/125290115


# 進入admin資料庫
use admin

# 建立admin超級管理員使用者
db.createUser(
{ user: "admin",
customData:{description:"superuser"},
pwd: "admin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

#建立一個不受訪問限制的超級使用者
db.createUser(
{
user:"root",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
}
);

#建立一個業務資料庫管理員使用者
db.createUser({
user:"user001",
pwd:"123456",
customData:{
name:'jim',
email:'jim@qq.com',
age:18,
},
roles:[
{role:"readWrite",db:"db001"},
{role:"readWrite",db:"db002"},
'read'// 對其他資料庫有隻讀許可權,對db001、db002是讀寫許可權
]
})

MongoDB資料庫角色說明
資料庫使用者角色:read、readWrite;
資料庫管理角色:dbAdmin、dbOwner、userAdmin;
叢集管理角色:clusterAdmin、clusterManager、4. clusterMonitor、hostManage;
備份恢復角色:backup、restore;
所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超級使用者角色:root
內部角色:__system

MongoDB中的role詳解
Read:允許使用者讀取指定資料庫
readWrite:允許使用者讀寫指定資料庫
dbAdmin:允許使用者在指定資料庫中執行管理函式,如索引建立、刪除,檢視統計或訪問system.profile
userAdmin:允許使用者向system.users集合寫入,可以在指定資料庫裡建立、刪除和管理使用者
clusterAdmin:只在admin資料庫中可用,賦予使用者所有分片和複製集相關函式的管理許可權
readAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權
readWriteAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫許可權
userAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的userAdmin許可權
dbAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbAdmin許可權
root:只在admin資料庫中可用。超級賬號,超級許可權

相關文章