【问题标题】:Add user in mongodb on debian without storing password in clear text在 debian 上的 mongodb 中添加用户而不以明文形式存储密码
【发布时间】:2013-10-27 02:22:43
【问题描述】:

我在我的 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” :假,“密码”:“HASHED_VERSION_OF_MY_PASSWORD”}

如何添加用户而不在数据库中使用明文密码?

【问题讨论】:

    标签: mongodb debian


    【解决方案1】:

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

    尝试使用预期的 2.2 语法:

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

    可以通过运行确认服务器版本:

    > db.version()
    

    【讨论】:

    • 谢谢,这解决了我的问题!我显然使用的是 1.4.4 版。可能是我遵循的教程是旧的。
    猜你喜欢
    • 1970-01-01
    • 2021-03-15
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    相关资源
    最近更新 更多