zoukankan      html  css  js  c++  java
  • MongoDB 3.X 用户权限控制

    为何要仅限数据库权限控制?为了数据安全。

    MongoDB 3.X的用户权限操作

    启动服务

    打开CMD,切换到D:MongoDBin(mongodb安装目录),键入:mongod --dbpath d:MongDBdb (提前新建数据库存放目录) --logpath d:MongoDBlogmongod.log (存放log日志) 开启数据库服务器。

    创建用户

    另启一个cmd,切换到D:MongoDBin,键入:mongo,进入shell 模式

    按如下顺序创建一个用户:

    开启权限认证

    首先关闭已经启动的mongod服务,然后打开MongoDB文件夹下的 conf 文件夹中的mongodb.conf文件,在末尾添加 auth = true,最后键入mondod --dbpath d:MongDBdb --logpath d:MongoDBlogmongod.log --auth启动服务。

    当我们再次操作数据库时,就需要登录了:

    怎么登录呢?

    现在我们就可以对数据库进行一些操作了!

    *特别提醒

    我们在创建用户的时候,会给用户不同的role(角色),不同用户角色对数据库的操作权限不一样,这里列出来一些常用的role:

    
      Built-In Roles(内置角色):
        1. 数据库用户角色:read、readWrite;
        2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
        3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
        4. 备份恢复角色:backup、restore;
        5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
        6. 超级用户角色:root  
        // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
        7. 内部角色:__system
    
    

    具体角色:

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

    查看所有用户

    在mongodb中,默认用 admin 数据库中的 system.users 集合保存所有用户角色,我们使用 db.system.users.find()来查找所有用户。

    参考链接:http://www.cnblogs.com/shiyiwen/p/5552750.html

  • 相关阅读:
    Dot Net WinForm 控件开发 (七) 为属性提下拉式属性编辑器
    WinForm 程序的界面多语言切换
    c#遍历HashTable
    Dot Net WinForm 控件开发 (三) 自定义类型的属性需要自定义类型转换器
    Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
    Dot Net WinForm 控件开发 (一) 写一个最简单的控件
    Dot Net WinForm 控件开发 (四) 设置属性的默认值
    Dot Net WinForm 控件开发 (二) 给控件来点描述信息
    Dot Net WinForm 控件开发 (八) 调试控件的设计时行为
    Dot Net WinForm 控件开发 (五) 复杂属性的子属性
  • 原文地址:https://www.cnblogs.com/fayin/p/6678071.html
Copyright © 2011-2022 走看看