文章目录
安全访问控制
新建mongodb用户
- 在虚拟机中控制mongodb,并在admin数据库中新建用户
db.createUser({user:"taotao",pwd:passwordPrompt(),roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

修改配置文件开启权限访问
vi /opt/servers/mongodb_demo/mongodb/conf/mongod.conf
security:
authorization: enabled

重启mongodb服务
这里我们重启服务使用重启虚拟机方式(比较方便)
启动
mongod -f /opt/servers/mongodb_demo/mongodb/conf/mongod.conf
权限说明(PPT)


尝试直接访问数据库
数据库为空,因为我们设置了用户权限,必须登录才能正常访问数据库

直接切换admin进行控制,登录用户taotao
- 注意,需要先使用指定库,再进行登录操作
use admin
db.auth("taotao","12345")

创建基于管理员用户的“子用户”
创建一个基于Admin-taotao的用户taotaouser1,该用户只有admin数据库的read权限
db.createUser({user:"taotaouser",pwd:"12345",roles:[{role:"read",db:"admin"}]})

检查是否创建成功
show users

查看指定用户信息
db.getUser("taotaouser")

尝试使用子用户进行数据库操作
向集合中插入数据
向mycollection集合插入数据
db.mycollection.insert({"a":1,"b":2})
权限不足

使用admin用户给taotaouser赋予write权限
db.grantRolesToUser("taotaouser",[{role:"readWrite",db:"admin"}])

再次尝试使用taotaouser用户添加数据
写数据成功

其他权限、功能赋予或删除[图文]



问题(多个role,代表担任多个角色)
表示此用户既可以读,又可以读写
版权归原作者 鬼鬼骑士 所有, 如有侵权,请联系我们删除。