我创建了一个用户,其角色为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" }

最佳答案

userAdminAnyDatabase不向配置数据库授予读取权限-只允许更改任何用户权限,包括其自己的权限。
如果您的目标是创建一个超级用户,并且有能力执行所有操作,请为该用户添加clusterAdmin和readwriteanddatabase rolls。
讨论了联合私有化here

关于linux - 访问配置数据库时拒绝,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16757187/

10-16 01:09