我启动一个新的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()
答案 0 :(得分:0)
这是MongoDB 2.4.x的安全功能。您不希望其他用户能够看到散列密码。
用户需要拥有userAdmin
角色并登录才能查看该集合。