[MongoDB] 用戶權限管理


在新環境按照原來的步驟新裝了MongoDB,結果出現了一些錯誤,才發現版本升到了2.6.1,用戶權限相關的內容全部改掉了。

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

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

 

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

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

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

use admin

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

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

mongo [ip]/admin -u admin -p admin


use [db_name]

db.createUser(
  {
    user: "[user]",
    pwd: "[password]",
    roles:
    [
      {
        role: "dbOwner",
        db: "[db_name]"
      }
    ]
  }
)

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


免責聲明!

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



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