1. 创建一个不受访问限制的超级用户
use admin db.createUser( { user:"root", pwd:"www.ttlsa.com", roles:["root"] } )
2. 创建一个超级用户
超级用户的role有两种,userAdmin和userAdminAnyDatabase
use admin db.createUser( { user: "admin", pwd: "www.ttlsa.com", roles:[ { role: "userAdminAnyDatabase", db: "admin" }] } )
db是指定数据库的名字,admin是管理数据库。文章源自运维生存时间-https://www.ttlsa.com/mongodb/mongodb-user-management/
3. 创建普通用户
use admin db.createUser( { user:"dev", pwd:"www.ttlsa.com", roles:[ {role:"read",db:"db01"}, {role:"read",db:"db02"}, {role:"read",db:"db03"} ] } )
4. 查看当前用户权限
db.runCommand( { usersInfo:"userName", showPrivileges:true } )
只能查看当前数据库中的用户,哪怕当前数据库admin数据库,也只能查看admin数据库中创建的用户。文章源自运维生存时间-https://www.ttlsa.com/mongodb/mongodb-user-management/
5. 修改用户密码
use admin db.changeUserPassword("username", "xxx")
6. 查看用户信息
db.runCommand({usersInfo:"userName"})
7. 修改用户密码和用户信息
db.runCommand( { updateUser:"username", pwd:"xxx", customData:{title:"xxx"} } )
注:文章源自运维生存时间-https://www.ttlsa.com/mongodb/mongodb-user-management/
- 与用户管理相关的操作基本都要在admin数据库下运行,要先use admin;
- 如果在某个单一的数据库下,那只能对当前数据库的权限进行操作;
- db.addUser是老版本的操作,现在版本也还能继续使用,创建出来的user是带有root role的超级管理员。

我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
评论