Linux MongoDB auth=true clusterAdmin仍然缺少特权

Linux MongoDB auth=true clusterAdmin仍然缺少特权,linux,mongodb,authentication,ubuntu,permissions,Linux,Mongodb,Authentication,Ubuntu,Permissions,我需要一点mongo的帮助 我根据以下说明安装了2.4.9版本: 对于ubuntu- 对于Debian- 我遵循手册和文档。一切正常,但当我将mongo设置更改为“auth=true”时,权限会变得疯狂 这是我的用户: { "_id" : ObjectId("5305dd8729ae7b95a4bde944"), "user" : "root", "pwd" : "063bbfd478f7b78df6c93b6202af9145", "roles" : ["clu

我需要一点mongo的帮助

我根据以下说明安装了2.4.9版本:
对于ubuntu-
对于Debian-

我遵循手册和文档。一切正常,但当我将mongo设置更改为“auth=true”时,权限会变得疯狂

这是我的用户:

{
    "_id" : ObjectId("5305dd8729ae7b95a4bde944"),
    "user" : "root",
    "pwd" : "063bbfd478f7b78df6c93b6202af9145",
    "roles" : ["clusterAdmin", "userAdminAnyDatabase", 
            "readWriteAnyDatabase", "dbAdminAnyDatabase" ] }

我用了rockmongo。当我打开mongodb时,它说我没有足够的权限运行命令db.getCollectionNames()

它说:执行失败:未经授权

创建用户和管理数据库也是一样的

我无法想象我应该为用户提供更多的权限

正如手册中所说,这个用户是我创建的第一个用户。我给了他所有最高的管理权限

将auth参数更改为auth=true后 我也无法在命令行中登录。

$ mongo -uroot -p <my password> --host 127.0.0.1
MongoDB shell version: 2.4.9
connecting to: 127.0.0.1:27017/test
Thu Feb 20 11:56:17.510 Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:228
exception: login failed
$mongo-uroot-p——主机127.0.0.1
MongoDB外壳版本:2.4.9
连接到:127.0.0.1:27017/测试
2月20日星期四11:56:17.510错误:18{code:18,ok:0.0,errmsg:“auth fails”}位于src/mongo/shell/db.js:228
异常:登录失败

顺便说一句,我试过带大括号和不带大括号的密码。有长期权和短期权。这边-p和这边-p

但应用程序(使用简单的db用户)运行良好。 我创建了数据库和两个用户(在使auth=true之前),它们对于使用它们的应用程序来说似乎很好

我无法用谷歌搜索任何信息。在大多数情况下,添加clusterAdmin或其他权限可以解决问题

操作系统:Ubuntu12.04和Debian7(以相同的行为)
MongoDb:2.4.9


我的错误是什么?

您是否在管理数据库中创建了用户? clusterAdmin和*AnyDatabase权限仅适用于admin数据库

当您进行身份验证时,您需要对管理员数据库进行身份验证,然后根据用户权限访问其他数据库


mongo--authenticationDatabase admin-u root-p--host 127.0.0.1

>“您在管理数据库上创建了用户吗?”是的。它是单服务器配置,我只需要clusterAdmin来远程管理它。您正在对“测试”数据库进行身份验证,正如您在连接到:127.0.0.1:27017/test的响应
中所看到的,请尝试这样做:
mongo--authenticationDatabase admin-u root-p--host 127.0.0.1