这是一个userAdmin
与userAdminAnyDatabase
问题.
在system.users
我有以下用户(1234
两者的密码):
> db.system.users.find() { "_id" : ObjectId("52a976cb7851682aa44d6d4d"), "user" : "admin_one", "pwd" : "884f516cf308a4c6a75bbc5a0a00807b", "roles" : [ "userAdmin", "dbAdmin" ] } { "_id" : ObjectId("52a97c697851682aa44d6d4f"), "user" : "admin_two", "pwd" : "26e7bb644e5919461cd6ba7403dc6906", "roles" : [ "userAdminAnyDatabase", "dbAdminAnyDatabase" ] }
与错误的用户连接:
$ mongo mono -u admin -p 1234 connecting to: mono Thu Dec 12 10:09:00.733 Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:228
这没关系.
与数据库管理员连接:
$ mongo mono -u admin_one -p 1234 connecting to: mono > db.system.users.find() { "_id" : ObjectId("52a976cb7851682aa44d6d4d"), "user" : "admin_one", "pwd" : "884f516cf308a4c6a75bbc5a0a00807b", "roles" : [ "userAdmin", "dbAdmin" ] } { "_id" : ObjectId("52a97c697851682aa44d6d4f"), "user" : "admin_two", "pwd" : "26e7bb644e5919461cd6ba7403dc6906", "roles" : [ "userAdminAnyDatabase", "dbAdminAnyDatabase" ] }
哪个也行.
现在,连接"AnyDatabase"管理员我收到一个错误:
$ mongo mono -u admin_two -p 1234 connecting to: mono > db.system.users.find() error: { "$err" : "not authorized for query on mono.system.users", "code" : 16550 }
为什么?