• MongoDB登录验证及用户管理


    一、超级管理员创建及开启登录验证

    如果MongoDB要开启登录验证,必须在开启登录验证之前先创建好超级管理员,否则无法登录数据库!

    例如,创建一个超级管理员admin,关联给admin数据库,角色设置为root(超级管理员)

    首先,进入到目标库admin,use admin

    然后,输入指令 db.createUser({user:"admin",pwd:"123456",roles:["root"]})

    创建完管理员用户之后,就可以开启登录验证了,进入配置文件c:MongoDBconfigmongodb.conf,

    添加 auth=true即可开启登录验证,如果要开启远程登录,需要添加 bind_ip=0.0.0.0,修改写重启MongoDB服务即可。

    开启服务之后,就可以通过管理员登录了,

    二、添加数据库普通用户

    如果要给指定的数据库添加登录用户,先要切换到数据库,再创建用户,用户需要绑定数据库,还有角色

    常用到的角色介绍:

    read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库
    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
    root:只在admin数据库中可用。超级账号,超级权限

    例如创建test用户,具有对test数据库读写权限

    首先,进入到目标库test,use test

    然后,输入指令 db.createUser({user:"test",pwd:"123456",roles:[{role:"readWrite",db:"test"}]})

    三、查看所有用户

    用超级管理员登录切换到admin数据库,通过指令db.system.users.find()查看所有用户所有信息,
    通过指令db.system.users.find({},{user:1,roles:1,_id:0})查看所有用户简要信息

    四、修改用户

    4.1修改用户密码

    例如,修改用户test的密码为123

    首先,进入目标库test,use test

    然后,输入指令 db.changeUserPassword("test","123")

    4.2修改用户角色

    添加用户角色

    例如,给用户test添加readWrite权限

    首先,进入目标库test,use test

    然后,输入指令 db.grantRolesToUser("test",[{role:"readWrite",db:"test"}])

    删除用户角色

    例如,删除用户test的readWrite权限

    首先,进入目标库test,use test

    然后,输入指令 db.revokeRolesFromUser("test",[{role:"readWrite",db:"test"}])

    五、删除用户

    例如,删除用户test

    首先,进入到目标库test,use test

    然后,输入指令 db.dropUser("test")

    代码改变一切!
  • 相关阅读:
    [导入]【翻译】WF从入门到精通(第十三章):打造自定义活动
    [导入]关于网页标准与JAVAScript执行的问题
    html包含html文件的方法
    [导入]C#加密方法汇总
    8、步步为营VS 2008 + .NET 3.5(8) DLINQ(LINQ to SQL)之面向对象的添加、查询、更新和删除
    [导入]【翻译】WF从入门到精通(第十五章):工作流和事务
    [导入]存储过程得到某个表的所有字段信息
    1、步步为营VS 2008 + .NET 3.5(1) VS 2008新特性之Multi Targeting(多定向)、Web Designer and CSS(集成了CSS的web设计器)和Nested Master Page(嵌套母版页)
    [导入]vbs修改注册表
    正则表达式30分钟入门教程
  • 原文地址:https://www.cnblogs.com/heqiuyong/p/8976110.html
Copyright © 2020-2023  润新知