Mongodb Admin无法在另一个数据库中运行命令(错误代码13)

时间:2014-05-14 14:26:16

标签: mongodb admin rights access-rights runcommand

我对mongoDB有一些权利问题,我使用auth menthod创建了一个数据库管理员,这很有用。

我可以使用我使用角色" userAdminAnyDatabase"创建的管理员帐户,在没有任何警告的情况下从远程服务器连接到我的数据库。但是,当我使用不同的数据库(使用myDB)时,我无法运行db.runCommand。

这是我得到的:

> db.runCommand({createIndexes: "C_Cache", indexes: [{key: {tags: 1}, name: "tags_1"}]})
{
    "ok" : 0,
    "errmsg" : "not authorized on myDB to execute command { createIndexes: \"C_Cache\", indexes: [ { key: { tags: 1.0 }, name: \"tags_1\" } ] }",
    "code" : 13
}

当我评论" auth"在配置文件中,所有工作都很完美。但这不是我想要的。我需要这种身份验证方法。


编辑:

我只是误解了" userAdminAnyDatabase"的含义,这并没有赋予您修改其他数据库的权利。为此,它似乎需要角色" root"适合超级用户角色

0 个答案:

没有答案