使用createUser的MongoDB安全性
我试图在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:
> 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活动。然后我可以使用我的数据库,对吗?是的,这是正确的,尽管您可能希望为生产使用设置具有读写角色的有限用户。