我试图在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
任何帮助???
答案 0 :(得分:3)
对测试数据库执行shell内身份验证,而在admin数据库中创建了用户。如果在db.auth
之前添加use语句,它应该可以工作> use admin
> db.auth('superuser','12345689');