具有适当特权的用户可以更改自己的密码和自定义数据。存储可选的用户信息。Custom data
要生成用于此过程的强密码,可以使用
openssl
实用程序的rand
命令。例如,使用以下选项来创建48个伪随机字节的base64编码的字符串:openssl
rand
要修改自己的密码和自定义数据,您必须具有分别在用户数据库上授予changeOwnPassword
和
操作的特权。changeOwnCustomData
在admin
数据库中,create
使用changeOwnPassword
和
的新角色changeOwnCustomData
。
在test
数据库中,create
具有创建"changeOwnPasswordCustomDataRole"
角色的新用户。例如,以下操作将创建一个同时具有内置角色readWrite
和user-created的用户"changeOwnPasswordCustomDataRole"
。
小费
从mongo
Shell的4.2版本开始,您可以将该passwordPrompt()
方法与各种用户身份验证/管理方法/命令结合使用,以提示输入密码,而不是直接在方法/命令调用中指定密码。但是,您仍然可以像在早期版本的mongo
Shell中一样直接指定密码
。
要为现有用户授予新角色,请使用
db.grantRolesToUser()
。
使用该db.updateUser()
方法来更新密码和自定义数据。
例如,以下操作将用户密码更改为,
KNlZmiaNUp0B
并将自定义数据更改为:{ title: "Senior Manager" }
小费
从mongo
Shell的4.2版本开始,您可以将该passwordPrompt()
方法与各种用户身份验证/管理方法/命令结合使用,以提示输入密码,而不是直接在方法/命令调用中指定密码。但是,您仍然可以像在早期版本的mongo
Shell中一样直接指定密码
。
出现提示时输入密码。