zoukankan      html  css  js  c++  java
  • MongoDB用户权限管理

    创建用户账号:

    (roles参数指定了用户的角色以及这个账号授权的数据库,在同一个数据库中不能同时创建两个用户名相同的账号)

     

    Mongodb内置的用户角色:

    1. 数据库用户角色:readreadWrite

    2. 数据库管理角色:dbAdmindbOwneruserAdmin

    3. 集群管理角色:clusterAdminclusterManagerclusterMonitorhostManager

    4. 备份恢复角色:backuprestore

    5. 所有数据库角色:readAnyDatabasereadWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabase

    6. 超级用户角色:root

     间接或直接提供了系统超级用户访问的角色:dbOwneruserAdminuserAdminAnyDatabase

    7. 内部角色:__system

     

    角色具体介绍:

    read:允许用户读取指定数据库。

    readWrite:允许用户读写指定数据库。

    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计等。

    userAdmin:允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户。

    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

    readAnyDatabase:只在admin数据库中可用(授权数据库只能是admin,但是可以在其他数据库下创建,以下与此相同),赋予用户所有数据库的读权限。

    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限。

    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限。

    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

    root:只在admin数据库中可用,超级账号,超级权限,不仅可以授权,而且也可以对集合进行任意操作。

     

    用户账号使用:

    使用--auth命令行选项开启安全检查:

    mongod --dbpath d:mongodbdatadb --auth

    再次使用mongo shell连接mongodb服务器的时候需要先进行权限验证

    (用户账号是在哪个数据库中创建的,就要到哪个数据库下验证,然后再到账号授权的数据库下执行操作)

    这个命令也可用于在不同用户账号之间切换。

    若不进行权限验证则会报错:not authorized on ... to execute command ...

     

    修改用户账号信息:

    (到用户账号创建的数据库下修改,但是无法修改用户名)

     

    删除用户账号:

    db.dropUser(用户名)

    (到用户账号创建的数据库下删除)

     

    查询用户账号:

     

     

  • 相关阅读:
    数据库使用--MySQL: InnoDB 还是 MyISAM?
    数据库使用3--索引系列
    数据库使用1--注意事项
    数据库使用2--索引系列
    学习FFmpeg API
    几种常见 容器 比较和分析 hashmap, map, vector, list ...hash table
    tiny中文乱码问题,不过仅适用于windows,所以xml不可以出现中文
    【NumPy】numpy数组类型
    【1.1】Scrapy抓取4步走、新建项目
    django+markdown
  • 原文地址:https://www.cnblogs.com/wujuntian/p/6899219.html
Copyright © 2011-2022 走看看