更改您的密码和自定义数据

概述

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

注意事项

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

openssl rand -base64 48

先决条件

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

  1. 以具有管理用户和角色权限的用户身份连接。

    连接到mongodmongos具有管理用户和角色的权限,例如具有 userAdminAnyDatabase角色的用户。以下过程使用 myUserAdmin启用访问控制中创建的。

    mongosh --port 27017 -u myUserAdmin -p  --authenticationDatabase 'admin'
    

    如果您不指定密码-p 命令行选项,mongosh提示输入密码。

  2. 创建具有适当权限的角色。

    admin数据库中,一个带有和 create的新角色changeOwnPasswordchangeOwnCustomData

    use admin
    db.createRole(
       { role: "changeOwnPasswordCustomDataRole",
         privileges: [
            { 
              resource: { db: "", collection: ""},
              actions: [ "changeOwnPassword", "changeOwnCustomData" ]
            }
         ],
         roles: []
       }
    )
    
  3. 添加具有此角色的用户。

    test数据库中,create具有已创建角色的新用户"changeOwnPasswordCustomDataRole"。例如,以下操作创建了一个同时具有内置角色readWrite和用户创建的用户"changeOwnPasswordCustomDataRole"

    提示:

    从 shell 的 4.2 版本开始mongo,您可以将passwordPrompt()方法与各种用户身份验证/管理方法/命令结合使用来提示输入密码,而不是直接在方法/命令调用中指定密码。但是,您仍然可以像使用早期版本的 shell 一样直接指定密码 mongo

    use test
    db.createUser(
       {
         user:"user123",
         pwd: passwordPrompt(),  // or cleartext password
         roles:[ "readWrite", { role:"changeOwnPasswordCustomDataRole", db:"admin" } ] 
       }
    )
    

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

步骤

  1. 使用适当的权限连接。

    连接到mongodmongos作为具有适当权限的用户。

    例如,以下操作连接到 user123先决条件 部分。

    mongosh --port 27017 -u user123 --authenticationDatabase 'test' -p
    

    如果您不指定密码-p 命令行选项,mongosh提示输入密码。

    检查您是否具有在 先决条件部分以及查看用户信息,请使用usersInfo带有 showPrivileges选项的命令。

  2. 更改您的密码和自定义数据。

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

    例如,以下操作将用户密码更改为 KNlZmiaNUp0B,自定义数据更改为{ title: "Senior Manager" }

    提示:

    从 shell 的 4.2 版本开始mongo,您可以将passwordPrompt()方法与各种用户身份验证/管理方法/命令结合使用来提示输入密码,而不是直接在方法/命令调用中指定密码。但是,您仍然可以像使用早期版本的 shell 一样直接指定密码 mongo

    use test
    db.updateUser(
       "user123",
       {
          pwd: passwordPrompt(),  // or cleartext password
          customData: { title: "Senior Manager" }
       }
    )
    

    出现提示时输入密码。

译者:韩鹏帅

原文:Change Your Password and Custom Data

Copyright © 上海锦木信息技术有限公司 all right reserved,powered by Gitbook文件修订时间: 2023-09-01 17:10:26

results matching ""

    No results matching ""