超级管理员
- 为了更加安全的访问 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'}]})