MongoDB 權限控制


MongoDB 版本為4.0.1

 

1.核心思想為:

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

然后通過這個管理員權限用戶給其它庫分配操作庫數據的用戶。

 

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

①啟動MongoDB服務端

./mongod &

注意:這里后面有個d,並使用&后台運行

 

②啟動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)的用戶才能對庫中的數據進行操作

 

以上。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM