超级管理员
- 为了更加安全的访问 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 和 values 之间一定要加空格,否则会解析报错
 security:
     authorization enabled
- 重启服务
sudo service mongod restart
- 使用认证某个数据方式终端连接
mongo -u admin -p 123--authenticationDatabase admin
普通用户管理
- 使用超级管理员登录,然后进入用户管理操作
- 查看当前数据库的用户
 use demo
 show users
- 创建普通 用户
 db.createUser(
     {
        user: 'xingyeah',
        pwd: '123',
        roles:[{role:'readWrite',db:'demo'}]
     }
 )
- 退出 root 连接 使用 xignyeah 登录
mongo -u xingyeah -p 123--authenticationDatabase
- 切换数据库,执行命令查看效果
- 修改 yoghurt:可以修改密码, 或者roles 属性
# 修改密码
 db.updateUser('xingyeah',{pwd: '456'})
 # 修改属性
 db.updateUser('xingyeah',{roles:[{role: 'read',db:'demo'}]})