MongoDB 許可權控制

來源:互聯網
上載者:User

標籤:運行   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 許可權控制

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.