未授权在admin.system.users上查询 - 第一个用户创建

时间:2014-12-16 01:51:02

标签: mongodb

我在mongo上有一个分片群集(3个副本集,每个副本有3个节点)。所有mongod都使用keyFile选项运行 要查看数据库中的所有用户:

$ mongo --port XXXXX -u USER -p PASSWORD admin <br>
MongoDB shell version: 2.4.12<br>
connecting to: 127.0.0.1:XXXXX/admin<br>
mongos> use admin<br>
switched to db admin<br>
mongos> show users<br>
Tue Dec 16 01:46:17.763 error: { "$err" : "not authorized for query on   
admin.system.users", "code" : 16549 } at src/mongo/shell/query.js:128<br>mongos><br>

我认为我错误地创建了第一个没有足够权限的用户管理员。是这样吗?如何查看当前mongo用户的权限?我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的用户没有必要的权限。

db.grantRolesToUser("username", [ { role : "clusterAdmin", db: "admin" } ] )

来自mongodb文档

  

如果MongoDB数据库中存在用户,但是没有用户具有创建新用户的相应先决条件,或者您无法访问它们,则必须使用--noauth选项重新启动mongod。 First User Restrictions

您可能还需要阅读Enable Authentication in a Sharded Cluster