超级管理员
为了更安全的访问mongodb,需要访问者提供用户名和密码,于是需要在mongodb中创建用户
采用了角色-用户-数据库的安全管理方式
常用系统角色如下:
- root:只在admin数据库中可用,超级账号,超级权限
- Read:允许用户读取指定数据库
- readWrite:允许用户读写指定数据库
创建超级管理用户
use admin db.createUser({ user:'admin', pwd:'123', roles:[{role:'root',db:'admin'}] })
启用安全认证
修改配置文件
sudo vi /etc/mongod.conf
启用身份验证
注意:keys and values之间一定要加空格, 否则解析会报错
security: authorization: enabled
重启服务
sudo service mongod stop sudo service mongod start
终端连接
mongo -u 'admin' -p '123' --authenticationDatabase 'admin'
普通用户管理
使用超级管理员登录,然后进入用户管理操作
查看当前数据库的用户
use test1 show users
创建普通用户
db.createUser({ user:'t1', pwd:'123', roles:[{role:'readWrite',db:'test1'}] })
终端连接
mongo -u t1 -p 123 --authenticationDatabase test1
切换数据库,执行命令查看效果
修改用户:可以修改pwd、roles属性
db.updateUser('t1',{pwd:'456'})