標籤:運行 nan 一個 pre soft minus 行資料 data user
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 admindb.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)的使用者才能對庫中的資料進行操作
以上。
MongoDB 許可權控制