MongoDB not authorized for query admin.system.user

2019-02-15 07:29发布

问题:

I am bit new to MongoDb and I am using MongoDb v.2.4.Here the problem is that when I run the mongod with --auth parameter, even after authenticating I am not able to perform simple operations such as "show users". But works fine if I run mongod without --auth parameter.

> use admin
switched to db admin
> db.auth("dbadmin","mypassword")
1
> show users
**Thu Feb 27 16:50:17.695 error: { "$err" : "not authorized for query on admin.sys
tem.users", "code" : 16550 } at src/mongo/shell/query.js:128**

回答1:

Firstly you should to run mongod on localhost without --auth and create user with necessary roles that you needed. In your case you should add userAdminAnyDatabase or userAdmin role. Than you could run mongod with --auth and authenticate by this user for have remote access to system.users collections.
You could read about it here.



回答2:

> use admin
switched to db admin
> db.grantRolesToUser("your_admin_name" ,[ "root"])

This command will give you all privileges on any db as admin.



回答3:

I think your admin user has not been configured as mongo says.

I have just answer a question in another thread with explanation step by step : Not authorized for query on admin.system.namespaces on mongodb

try it.