拒绝访问配置数据库时

时间:2013-05-26 07:45:58

标签: linux mongodb

我创建了一个userAdminAnyDatabase角色的用户,但我无法使用此帐户访问配置数据库

mongos> use admin;
switched to db admin
mongos> show users;
{
        "_id" : ObjectId("51a075cf35978c6326c6350f"),
        "user" : "clustersa",
        "pwd" : "e76cbe5c62d704fa4074a7047fa165f5",
        "roles" : [
                "userAdminAnyDatabase"
        ]
}
mongos> db.auth('clustersa','clustersa')
1
mongos> use config
switched to db config
mongos> db.runCommand( { listshards : 1 } );
{ "ok" : 0, "errmsg" : "access denied - use admin db" }

1 个答案:

答案 0 :(得分:2)

userAdminAnyDatabase不授予配置数据库的读取权限 - 只是能够更改任何用户权限,包括它自己的权限。

如果你的目标是创建一个超级用户,有权做任何事情,请为该用户添加clusterAdmin和readWriteAnyDatabase卷。

讨论了here

组合的特权