MongoDB 学习2 权限和分配

首先看这个权限图

 

 前四个,只能针对单独的库设置,也就是你要给哪个用户哪个库的权限,就在这个库下设置。

6到9个,就是前四个的升级版,针对用户操作所有数据库的权限。

Root 就是超级管理员。


创建用户

打开mongo.exe

执行命令

 

 show dbs 是查看当前库

use admin 是切换到admin库

show users 查看用户,这里没数据,表示还没有创建用户

输入命令

db.createUser({user:"liuyi",pwd:"123qweasd",roles:[{role:"userAdminAnyDatabase",db:"admin"}]}) 创建一个userAdminAnyDatabase权限的用户,这个用户可以管理其他用户。

 

 这个时候再执行 show users ,就会有这个用户的信息了,这里不演示。

修改配置文件mongo.config,设置auth=true,重启mongodb服务,然后再次打开mongo窗体,发现

 

很明显,展示的内容都不一样了,执行show dbs,没有结果,说明确实需要验证。

首先切换到admin下,执行db.auth("liuyi","123qweasd");

 

 显示1,表示验证通过,再就能继续像之前没有设置验证一样操作了。


修改权限

目前这个liuyi用户,只有操作其他用户的权限,自身是没有读写数据库的权限的,我们可以给他添加新的权限。

db.updateUser("liuyi",{"roles":[{"role":"userAdminAnyDatabase",db:"admin"},{"role":"readWriteAnyDatabase",db:"admin"},{"role":"dbAdminAnyDatabase",db:"admin"}]})

再查看一下

 

 这样就ok了

 当然,也可以改密码

db.updateUser("liuyi",{"pwd":“123456”}),这里我就不操作了。

删除用户

db.dropUser("name")

需要注意的是,操作其他用户的时候,要先用这个liuyi账户登录admin,获取到高级权限,再切换到你想操作的库下去操作相应的用户,因为不同的库用户名可以是一样的,所以要切换过去再操作。

posted @ 2021-05-08 22:20  luytest  阅读(81)  评论(0编辑  收藏  举报