美文网首页
MongoDB - 用户与权限

MongoDB - 用户与权限

作者: Anoyi | 来源:发表于2019-08-01 15:08 被阅读0次

    切换数据库

    use admin
    

    创建用户

    所有权限

    db.createUser(
      {
        user:"anoyi",
        pwd:"password",
        roles:["root"]
      }
    )
    

    指定数据库所有权限

    db.createUser(  
      { 
        user: "admin",  
        pwd: "admin",  
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  
      }  
    )
    

    指定数据库指定权限

    db.createUser(
      {
        user:"user",
        pwd:"password",
        roles:[
            {role:"readWrite",db:"db01"},
            {role:"readWrite",db:"db02"},
            'read'
        ]
      }
    )
    

    db01db02 库读写权限,其他库读权限

    角色分类:

    • 数据库用户角色:readreadWrite
    • 数据库管理角色:dbAdmindbOwneruserAdmin
    • 集群管理角色:clusterAdminclusterManagerclusterMonitorhostManage
    • 备份恢复角色:backuprestore
    • 所有数据库角色:readAnyDatabasereadWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabase
    • 超级用户角色:root
    • 内部角色:__system

    权限说明:

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

    查看用户

    show users
    

    修改密码

    db.changeUserPassword("anoyi", "newPassword")
    

    删除用户

    db.dropUser('anoyi')
    

    登录数据库

    use <database>
    
    db.auth('<username>', '<password>')
    

    相关文章

      网友评论

          本文标题:MongoDB - 用户与权限

          本文链接:https://www.haomeiwen.com/subject/demfdctx.html