MongoDB 權限控制

MongoDB 版本爲4.0.1spa

 

1.核心思想爲:code

在admin庫中建立一個管理員權限用戶,blog

而後經過這個管理員權限用戶給其它庫分配操做庫數據的用戶。權限控制

 

2.步驟以及注意事項以下:it

①啓動MongoDB服務端class

./mongod &

注意:這裏後面有個d,並使用&後臺運行test

 

②啓動MongoDB客戶端進行鏈接後臺

./mongo

注意:這裏後面沒有d權限

 

③進入admin表並建立一個管理員用戶總結

注意:剛安裝完MongoDB不帶任何參數啓動,是沒有任何用戶以及沒有啓動權限驗證機制的。

use admin
db.createUser( { user: "adminUser", pwd: "adminPwd", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )

返回操做結果顯示

Successfully added user: { "user" : "adminUser", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }

 

④設置完管理員用戶後,kill掉以後重啓MongoDB並帶啓動參數--auth啓動權限驗證機制。

./mongod --auth &

注意:這裏是兩個-而不是隻有一個

 

⑤登錄客戶端鏈接以後,進行受權

use admin db.auth("adminUser","adminPwd")

 

⑥給test庫增長一個可讀寫庫數據操做的用戶

use test
db.createUser( { user: "testUser", pwd: "testPwd", roles: [ { role: "readWrite", db: "test" } ] } )

返回操做結果顯示

Successfully added user: { "user" : "testUser", "roles" : [ { "role" : "readWrite", "db" : "test" } ] }

注意:之後對test庫的讀寫操做均可以使用testUser了

 

⑦受權登錄test庫

use test
db.auth("testUser","testPwd")

 

3.總結

①須要使用admin庫中的用戶對其它庫進行數據操做用戶的建立

②admin庫中的用戶不能對其它庫的數據進行操做(只能進行用戶權限控制操做)

③必須登錄對應庫(好比test)的用戶才能對庫中的數據進行操做

 

以上。

相關文章
相關標籤/搜索