0

我启动一个新的 mongodb 实例和本地连接使用 mongo shell,添加一个具有 userAdminAnyDatabase 角色的用户,但是当我退出 shell 时,启动另一个 shell,我找不到我第一次插入的 db.system.user 的记录,为什么?

# mongo --port 27017
> db.getSiblingDB('admin')
admin
>  db.addUser({user:"sa",pwd:"sa",roles:["userAdminAnyDatabase"]})
{
        "user" : "sa",
        "pwd" : "75692b1d11c072c6c79332e248c4f699",
        "roles" : [
                "userAdminAnyDatabase"
        ],
        "_id" : ObjectId("519ddd610b4ea57201ceb000")
}
> db.system.users.find()
{ "_id" : ObjectId("519ddd610b4ea57201ceb000"), "user" : "sa", "pwd" : "75692b1d11c072c6c79332e248c4f699", "roles" : [ "userAdminAnyDatabase" ] }
> exit
bye

# mongo --port 27017
> db.system.users.find()
> use admin
switched to db admin
> db.system.users.find()
4

1 回答 1

0

这是 MongoDB 2.4.x 的一个安全特性。您不希望其他用户能够看到散列密码。

用户需要具有userAdmin角色并登录才能查看集合。

于 2013-05-23T15:35:49.153 回答