MongoDB 专题
您的位置:database > MongoDB专题 > MongoDB更改用户密码和自定义数据
MongoDB更改用户密码和自定义数据
作者:--    发布时间:2019-11-20

具有适当权限的用户可以更改自己的密码和自定义数据。 自定义数据存储可选的用户信息。

注意事项

在此过程要生成一个强大的密码,您可以使用openssl实用程序的rand命令。 例如,使用以下选项发出openssl rand,以创建48个伪随机字节的base64编码字符串:

openssl rand -base64 48

先决条件

要修改自己的密码和自定义数据,您必须具有在用户数据库上分别授予changeownpasswordchangeowncustomdata操作的权限。

第一步:使用相应的权限连接到mongodb

使用“先决条件”部分指定的权限连接到 mongodmongos

以下过程使用在“启用认证”中创建的用户:myuseradmin

$ mongo --port 27017 -u "myuseradmin" -p "abc123" --authenticationdatabase "admin"

第二步:使用适当的权限创建角色

在管理数据库中,使用changeownpasswordchangeowncustomdata创建一个新角色。

use admin
db.createrole(
   { role: "changeownpasswordcustomdatarole",
     privileges: [
        {
          resource: { db: "", collection: ""},
          actions: [ "changeownpassword", "changeowncustomdata" ]
        }
     ],
     roles: []
   }
)

第三步:添加具有此角色的用户

test数据库中,使用创建的“changeownpasswordcustomdatarole”角色创建一个新用户。 例如,以下操作将创建具有内置角色readwrite和用户创建的“changeownpasswordcustomdatarole”的用户。

use test
db.createuser(
   {
     user:"user123",
     pwd:"12345678",
     roles:[ "readwrite", { role:"changeownpasswordcustomdatarole", db:"admin" } ]
   }
)

要向现有用户授予新角色,请使用db.grantrolestouser()

执行过程

第一步:使用相应的权限连接到mongodb

使用“先决条件”部分指定的权限连接到 mongodmongos

以下过程使用在“启用认证”中创建的用户:myuseradmin

$ mongo --port 27017 -u "myuseradmin" -p "abc123" --authenticationdatabase "admin"

要检查您是否具有先决条件部分中指定的权限以及查看用户信息,请使用带有--showprivileges选项的usersinfo命令。

第二步:更改您的密码和自定义数据

使用db.updateuser()方法来更新密码和自定义数据。

例如,以下操作将用户的密码更改为:knlzmianup0b,并将自定义数据更改为{title:“senior manager”}

use test
db.updateuser(
   "user123",
   {
      pwd: "knlzmianup0b",
      customdata: { title: "senior manager" }
   }
)

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册