使用createUser的MongoDB安全性

时间:2015-03-23 09:56:53

标签: mongodb

我试图在MongoDb中实现安全性。通过添加用户:

> db.addUser('admin','mypassword')

结果:

WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead

从我尝试过使用createUser函数的文档开始:

use admin
db.createUser(
    {
      user: "superuser",
      pwd: "12345678",
      roles: [ "root" ]
    }
)

使用--dbauth重新启动数据库。 现在,当我尝试与上述用户进行连接和身份验证时,会返回错误:

MongoDB shell version: 2.6.4
connecting to: test
> db.auth('superuser','12345678')
Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 }

另一方面,这有效,但在进程列表中显示用户/密码并不是一个好主意:

mongo -u superuser -p 12345678 --authenticationDatabase admin

任何帮助???

1 个答案:

答案 0 :(得分:3)

对测试数据库执行shell内身份验证,而在admin数据库中创建了用户。如果在db.auth

之前添加use语句,它应该可以工作
> use admin
> db.auth('superuser','12345689');