MongoDB 创建用户 修改密码 修改权限 删除用户

2025-10-04 14:37:54

1、show dbs          查看数据库

use dbname      进入数据库

show users        查看当前数据库用户权限

MongoDB 创建用户 修改密码 修改权限 删除用户

2、创建用户

db.createUser({user:"usertest",pwd:"passtest",roles:[  {role:"clusterAdmin", db:"admin" }, {role:"readAnyDatabase",db:"admin" }, {role:"readWrite",db:"testDB" } ]})

MongoDB 创建用户 修改密码 修改权限 删除用户

3、权限详解

内建角色:

数据库用户角色:read、readWrite;

数据库管理角色:dbAdmin、dbOwner、userAdmin;

集群管理角色:   clusterAdmin、clusterManager、clusterMonitor、hostManager;

备份恢复角色:   backup、restore;

所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

超级用户角色:   root;  这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

内部角色:          __system;

------------------------------------------------------------------------------------------

角色说明:

Read:                             允许用户读取指定数据库

readWrite:                     允许用户读写指定数据库

dbAdmin:                      允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:                    允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

dbOwner:                       允许在当前DB中执行任意操作

readAnyDatabase:          赋予用户所有数据库的读权限,只在admin数据库中可用

readWriteAnyDatabase: 赋予用户所有数据库的读写权限,只在admin数据库中可用

userAdminAnyDatabase:赋予用户所有数据库管理User的权限,只在admin数据库中可用

dbAdminAnyDatabase:   赋予管理所有数据库的权限,只在admin数据库中可用

root:                                 超级账号,超级权限,只在admin数据库中可用。

------------------------------------------------------------------------------------------

集群管理角色:

clusterAdmin:                  赋予管理集群的最高权限,只在admin数据库中可用

clusterManager:               赋予管理和监控集群的权限

clusterMonitor:                赋予监控集群的权限,对监控工具具有readonly的权限

hostManager:                   赋予管理Server

4、修改密码

方法1:db.changeUserPassword("usertest","changepass");

方法2:db.updateUser("usertest",{pwd:"changepass1"});

MongoDB 创建用户 修改密码 修改权限 删除用户

5、修改权限

db.updateUser("usertest",{roles:[ {role:"read",db:"testDB"} ]})

注:updateuser它是完全替换之前的值,如果要新增或添加roles而不是代替它 

则使用方法: db.grantRolesToUser() 和 db.revokeRolesFromUser()

------------------------------------------------------------------------------------------

db.grantRolesToUser("usertest", [{role:"readWrite", db:"testDB"},{role:"read", db:"testDB"}])   # 修改权限

db.revokeRolesFromUser("usertest",[{role:"read", db:"testDB"}])   # 删除权限:

MongoDB 创建用户 修改密码 修改权限 删除用户

MongoDB 创建用户 修改密码 修改权限 删除用户

MongoDB 创建用户 修改密码 修改权限 删除用户

6、

删除用户

db.dropUser('usertest')

MongoDB 创建用户 修改密码 修改权限 删除用户

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢