0

因此,我有一个具有以下角色的 mongo db 用户:

% mongo --username userw --password password --authenticationDatabase admin --host host
...
> use admin
switched to db admin
> show users
{
    "_id" : ObjectId("525d880dcd6e5e57f9431e16"),
    "user" : "userw",
    "pwd" : "****************",
    "roles" : [
        "readWriteAnyDatabase",
        "listDatabases"
    ]
}

用户可以成功读取和写入任何数据库,但如果我这样做:

> show dbs
Thu Oct 17 08:46:27.523 listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:46

我似乎缺少一个让我列出数据库的角色。我需要哪个角色?(clusterAdmin 解决了这个问题,但似乎有点矫枉过正)。

4

1 回答 1

3

根据文档,用户必须被授予权限clusterAdmin角色listDatabases

于 2013-10-19T07:44:25.147 回答