小编yee*_*eer的帖子

无法为创建为"userAdminAnyDatabase"角色的用户访问其他dbs

在mongo 2.4.x中,它支持在admin数据库中创建用户的新方法,我认为用userAdminAnyDatabase角色创建的用户应该能够访问所有其他数据库吗?

db.addUser({user:"u", pwd:"p", roles:["userAdminAnyDatabase"]})
Run Code Online (Sandbox Code Playgroud)

但是,它不能按照文档这样做.

当我以2.2.x风格创建用户时,它可以工作.

db.addUser("u","p")
Run Code Online (Sandbox Code Playgroud)

我的问题是我错误的操作?如果我想创建一个可以使用2.4.x语法访问所有dbs的用户,那么正确的方法是什么?还需要其他选择吗?

谢谢.

这是详细的shell代码:

?  mgo ? mongo
MongoDB shell version: 2.4.5
connecting to: test
> use admin
switched to db admin
> db.addUser({user: "u", pwd: "p", roles:["userAdminAnyDatabase"]})
{
    "user" : "u",
    "pwd" : "d4198ee555320fa5c048da6d6da440d8",
    "roles" : [
        "userAdminAnyDatabase"
    ],
    "_id" : ObjectId("51dc20f0282f72950455b62e")
}
> db.auth(
Display all 170 possibilities? (y or n)
> db.auth("u","p")
1
> ^C
bye
?  mgo ? mongo admin -u u -p p
MongoDB …
Run Code Online (Sandbox Code Playgroud)

mongodb

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

mongodb ×1