MongoDB用戶權限管理

現在使用Role來管理用戶,有一些內置的Role,也可以自定義Role。

內置的Role請參看http://docs.mongodb.org/manual/reference/built-in-roles/,權限最高的是root,然後管理用戶的和管理數據庫的Role是分離的,cluster也有專門的Role。

原先給數據庫加用戶的命令已經不管用了:

1
2
use [db_name]
db.addUser('[user]''[password]')

現在MongoDB安裝好之後,先要用localhost登錄上去,創建一個admin,給予userAdminAnyDatabase的權限,可以管理所有數據庫的用戶:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use admin
db.createUser(
  {
    user: "admin",
    pwd: "admin",
    roles:
    [
      {
        role: "userAdminAnyDatabase",
        db: "admin"
      }
    ]
  }
)

然後退出,再用admin登錄,創建其他用戶,給予dbOwner的權限,可以對某個數據庫進行所有操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mongo [ip]/admin -u admin -p admin
use [db_name]
db.createUser(
  {
    user: "[user]",
    pwd: "[password]",
    roles:
    [
      {
        role: "dbOwner",
        db: "[db_name]"
      }
    ]
  }
)

然後再用新建的用戶登錄,就可以操作數據庫了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章