mongodb的管理员和安全认证

超级管理员

  • 为了更安全的访问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
  • 切换数据库,执行命令查看效果mongodb

  • 修改用户:能够修改pwd、roles属性数据库

db.updateUser('t1',{pwd:'456'})