当前位置:   article > 正文

MongoDB账户管理_mongodb数据库怎么判断哪个账号是缺省管理账号

mongodb数据库怎么判断哪个账号是缺省管理账号
  • 说明

    • 默认情况下,mongod也是没有管理员账户,除非你在admin数据库中使用db.createUser()命令添加了管理员帐号,且使用–auth参数启动mongod,否则在数据库中任何人都可以无需认证执行所有命令
  • 创建账号:

    • db.createUser({user:"testAdmin",pwd:"123456wangchangc",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
    • 账号角色
      • 数据库用户角色:read、readWrite;
      • 数据库管理角色:dbAdmin、dbOwner、userAdmin;
      • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
      • 备份恢复角色:backup、restore;
      • 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
      • 超级用户角色:root
      • 内部角色:__system
    • 常用账号查看命令
      • 查看用户自定义角色权限:db.runCommand({rolesInfo:1})
      • 查询所有角色权限: db.runCommand({rolesInfo:1, showBuiltinRoles:true})
      • 查看某个角色的权限: db.runCommand({rolesInfo:"<rolename>"})
      • 查询其他数据库中指定的角色权限:db.runCommand({rolesInfo:{role:<roelename>",db:"<dbname>"}})
  • 重启生效:

    • 创建账号后,需要重启进行生效:关闭服务kill, 启动服务的前打开auth:true
  • 登录并认证

    • db.auth("testAdmin2","123456wangchangc")
    • mongo -utestAdmin2 -p'123456wangchangc' --port 27017
  • 删除用户:

    • db.dropUser("<username>")
  • 修改密码:

    • db.changeUserPassword("<UserName>","<newPassword>")
  • 验证密码/切换账户:

    • db.auth("<userName>","<password>")
  • 副本集,副本间通信

    • 需要通过相同的KEY文件通信
    • 生成KEY文件: openssl rand -base64 90 -out ./mongo.keyfile
    • 修改权限 chmod 400 ./mongo.keyfile,并发送到所有副本节点的mongo目录下
    • 更新conf: keyFile: /export/data/mongo/mongo.keyfile
    • 重启所有副本实例生效
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/953406
推荐阅读
相关标签
  

闽ICP备14008679号