zoukankan      html  css  js  c++  java
  • mongodb 用户管理

    登录认证:db.auth( <username>, <password> )
    查看账号:db.system.users.find();
    修改密码:db.changeUserPassword("reporting", "123456")
    1:添加一个products的readWrite和dbAdmin账号

    use products
    db.createUser(
    {
    user: "accountUser",
    pwd: "password",
    roles: [ "readWrite", "dbAdmin" ]
    }
    )

    登录:db.auth('accountUser','password')

    2:添加一个maxiangqian的只读账号

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

    登录:db.auth('maxiangqian','maxiangqian')

    3:添加一个空用户

    use admin
    db.createUser(
    {
    user: "reportsUser",
    pwd: "password",
    roles: [ ]
    }
    )

    4:添加一个超级管理员账号

    use admin
    db.createUser(
    {
    user: "maxiangqian",
    pwd: "maxiangqian",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    }
    )
    db.auth('maxiangqianadmin','maxiangqianadmin')

    5:admin数据库添加读写权限和群集管理员权限

    use admin
    db.createUser(
    {
    user: "appAdmin",
    pwd: "password",
    roles:
    [
    { role: "readWrite", db: "config" },
    "clusterAdmin"
    ]
    }
    )
    db.updateUser()

    语法格式如下:

    db.updateUser(
    "<username>",
    {
    customData : { <any information> },
    roles : [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
    ],
    pwd: "<cleartext password>"
    },
    writeConcern: { <write concern> }
    )

    修改密码:db.changeUserPassword()

    db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")

    删除用户:db.removeUser(username)

    db.dropAllUsers( {w: "majority", wtimeout: 5000} )

    删除某个用户:

    use products
    db.dropUser("reportUser1", {w: "majority", wtimeout: 5000})

    授予账号权限:

    db.grantRolesToUser( "<username>", [ <roles> ], { <writeConcern> } )

    例子

    use products
    db.grantRolesToUser(
    "accountUser01",
    [ "readWrite" , { role: "read", db: "stock" } ],
    { w: "majority" , wtimeout: 4000 }
    )

    收回权限:

    db.revokeRolesFromUser( "<username>", [ <roles> ], { <writeConcern> } )
    例子:(The following db.revokeRolesFromUser() method removes the two of the user’s roles: the read role on the stock database and the readWrite role on the products database)

    use products
    db.revokeRolesFromUser( "accountUser01",
    [ { role: "read", db: "stock" }, "readWrite" ],
    { w: "majority" }
    )

    获取当前用户权限:

    use accounts
    db.getUser("appClient")

    账号角色以及权限:

    1,内建的角色
    2,数据库用户角色:read、readWrite;
    3,数据库管理角色:dbAdmin、dbOwner、userAdmin;
    4,集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    5,备份恢复角色:backup、restore;
    6,所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    7,超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    8,内部角色:__system
    角色说明:
    Read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库
    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
    root:只在admin数据库中可用。超级账号,超级权限

  • 相关阅读:
    centos安装1
    centos安装
    Yii单表常用语句
    22.2015.08.18第二十三课mvc1,2(mvc环境搭建)
    21.2015.08.13第二十三课ado.net3(增删改查、get传值、post传值、SQL防注入、调存储过程、SQLHELPER)
    20.2015.8.12第二十二课ado.net1,2(增删改查代码)
    17.2015.08.04第十八节课 C#2 (数值类型及调用、引用类型及调用、装拆箱、常量、变量、数据类型转换、算术运算符、赋值运算符、关系运算符、逻辑运算符、字符串的常用方法)
    16、2015.08.03第十七节课 C#1(.net和C#的关系、VS与.net的对应关系、VS2012常用的几种应用程序、C#定义一个类的方法、类页面内容的解释、定义Person的类、调用Person类的方法、命名规范、数值类型)
    sql server 2008 相关错误整理(win7系统)
    刚刚接触的LINQ
  • 原文地址:https://www.cnblogs.com/shengdimaya/p/6598179.html
Copyright © 2011-2022 走看看