使用createUser的MongoDB安全性

使用createUser的MongoDB安全性,mongodb,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:

我试图在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

任何帮助???

shell中的身份验证都是针对测试数据库执行的,而用户是在管理数据库中创建的。如果在db.auth之前添加use语句,则应该可以工作

> use admin
> db.auth('superuser','12345689');

shell内身份验证是针对测试数据库执行的,而用户是在管理数据库中创建的。如果在db.auth之前添加use语句,则应该可以工作

> use admin
> db.auth('superuser','12345689');

shell内身份验证是针对测试数据库执行的,而用户是在管理数据库中创建的。如果在db.auth之前添加use语句,则应该可以工作

> use admin
> db.auth('superuser','12345689');

shell内身份验证是针对测试数据库执行的,而用户是在管理数据库中创建的。如果在db.auth之前添加use语句,则应该可以工作

> use admin
> db.auth('superuser','12345689');

谢谢你的回复。因此,如果我理解正确,我应该用上述两条语句开始所有mongo shell活动。然后我可以使用我的数据库,对吗?是的,这是正确的,尽管您可能希望设置一个具有readwrite角色的有限用户以供生产使用。谢谢您的回复。因此,如果我理解正确,我应该用上述两条语句开始所有mongo shell活动。然后我可以使用我的数据库,对吗?是的,这是正确的,尽管您可能希望设置一个具有readwrite角色的有限用户以供生产使用。谢谢您的回复。因此,如果我理解正确,我应该用上述两条语句开始所有mongo shell活动。然后我可以使用我的数据库,对吗?是的,这是正确的,尽管您可能希望设置一个具有readwrite角色的有限用户以供生产使用。谢谢您的回复。因此,如果我理解正确,我应该用上述两条语句开始所有mongo shell活动。然后我可以使用我的数据库,对吗?是的,这是正确的,尽管您可能希望为生产使用设置具有读写角色的有限用户。