在 debian 上的 mongodb 中添加用户,而无需以明文形式存储密码



我的 debian Linux 机器上安装了一台 mongodb 服务器。现在为了在允许远程登录之前保护它,我正在尝试使用以下命令添加管理员用户:

db.addUser( { user: "admin",pwd: "MY_PASSWORD",roles: [ "userAdminAnyDatabase" ] } )

我一定是做了一些非常错误的事情,因为我的密码最终在数据库中未加密,还有它的 md5 哈希版本。在运行命令之前,我尝试使用 md5 手动对其进行哈希处理,但仍然没有运气......

这是我在数据库中得到的:

{ "_id" : ObjectId("5260fc9f51f87eba8d937701"),

"user" : { "user" : "admin", "pwd" : "MY_PASSOWRD", "roles" : [ "userAdminAnyDatabase" ] }, "readOnly" : false, "pwd" : "HASHED_VERSION_OF_MY_PASSWORD" }

如何在数据库中不以明文密码结束的情况下添加用户?

您可能使用的是期望不同语法的旧版本。 2.2 中的 addUser 函数需要一个字符串作为用户名,另一个字符串作为密码。 似乎您添加了一个用户,其整个完整用户名为"{"用户":"admin","pwd":"MY_PASSOWRD","角色":["userAdminAnyDatabase" ] }' - 可能shell应该给出错误,但它没有。

请尝试使用预期的 2.2 语法:

> db.addUser( "admin",  "MY_PASSWORD")

您可以通过运行以下命令来确认服务器版本:

> db.version()

最新更新