mongoDB2 使用者管理

2021-08-14 06:05:46 字數 2495 閱讀 9509

注意:本操作的mongodb版本為3.6.0-rc4,3.0之前的版本操作方法不一樣

db.system.users.find() //檢視使用者

db.system.users.remove({}) //刪除使用者

> use admin

switched to db admin

> db.system

.users

.find()

}, "roles" : [ ] }

> db.system

.users

.remove({})

writeresult()

> db.system

.users

.find()

>

注意一點,帳號是跟著庫走的,所以在指定庫里授權,必須也在指定庫里驗證(auth)。

//其中包含了授權哪個資料庫

> db.createuser(]})

successfully added user:

]}>

db.createuser(]})

測試使用者授權

> db.auth("admin","admin")

1>

為非admin資料庫新增賬戶

> use admin

switched to db admin

> db.auth('admin','amin')

error: authentication failed.

0> db.auth("admin","admin")

1> db.createuser(]})

successfully added user:

]}>

> use admin

switched to db admin

> db.auth('admin','admin')

1切換到指定的資料庫,然後在該資料庫下建立使用者才可以訪問該資料庫下資料

> use dbdata;

switched to db dbdata

> db.createuser( ] } )

successfully added user:

]}>

user:使用者名稱

pwd:密碼

roles:指定使用者的角色,可以用乙個空陣列給新使用者設定空角色;在roles欄位,可以指定內建角色和使用者定義的角色。role裡的角色可以選:

built-in roles(內建角色):

1. 資料庫使用者角色:read、readwrite;

2. 資料庫管理角色:dbadmin、dbowner、useradmin;

3. 集群管理角色:clusteradmin、clustermanager、clustermonitor、hostmanager;

4. 備份恢復角色:backup、restore;

5. 所有資料庫角色:readanydatabase、readwriteanydatabase、useradminanydatabase、dbadminanydatabase

6. 超級使用者角色:root

// 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbowner 、useradmin、useradminanydatabase)

7. 內部角色:__system

read:允許使用者讀取指定資料庫

readwrite:允許使用者讀寫指定資料庫

dbadmin:允許使用者在指定資料庫中執行管理函式,如索引建立、刪除,檢視統計或訪問system.profile

useradmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、刪除和管理使用者

readanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權

readwriteanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫許可權

useradminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的useradmin許可權

dbadminanydatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbadmin許可權。

root:只在admin資料庫中可用。超級賬號,超級許可權

進入admin之後查詢使用者資訊

> db.system

.users

.find().pretty()

},"roles" : [

]} },

"roles" : [

]} },

"roles" : [

]}>

mongodb 3.x 使用者許可權控制-1

mongodb 3.x 使用者許可權控制-2

mongodb 3.0 使用者建立

MongoDB使用者管理

開啟mongodb服務時不新增任何引數時,預設是沒有許可權驗證的,登入的使用者可以對資料庫任意操作而且可以遠端訪問資料庫!在剛安裝完畢的時候mongodb都預設有乙個admin資料庫,此時admin資料庫是空的,沒有記錄許可權相關的資訊!當admin.system.users乙個使用者都沒有時,即使...

Mongodb使用者管理

使用者管理 預設不會驗證使用者名稱密碼。啟動時候新增 auth run with security 1.mongod auth 2.mongo無密碼登入到資料庫中。3.useadmin 切換到admin資料庫 4.db.adduser root 123 新增最高許可權使用者 5.db.auth ro...

MongoDB使用者管理

建立乙個超級使用者 use admin db.createuser 超級使用者的role有兩種,useradmin或者useradminanydatabase 比前一種多加了對所有資料庫的訪問 db是指定資料庫的名字,admin是管理資料庫。用新建立的使用者登入 mongo host u admin...