在新環境按照原來的步驟新裝了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]"
}
]
}
)
然后再用新建的用戶登錄,就可以操作數據庫了。
