参考官方文档:https://docs.mongodb.org/v2.6/tutorial/enable-authentication/

基于版本:MongoDB 2.6

概览

在MongoDB数据实例上开启了访问控制,约束了用户必须在连接MongoDB的时候认证一下。在这个步骤中,你开启访问控制,然后创建的第一个用户必须是一个administrator的用户。这个administrator用户用来创建其他的用户。

注意事项

如果你在开启访问控制之前,创建了一个administrator用户,那么就关闭了localhost exception,在这种情况下,你必须使用'Enable Authentication after Creating the User Administrator'的步骤来开启访问控制。

这里主要是说明'Enable Authentication after Creating the User Administrator的方式开启访问控制(即先创建第一个用户然后开启认证):

步骤:

  1.使用无认证的方式启动MongoDB

    比如:mongod --port 27017 --dbpath c:\data\db1

  2.创建administrator用户

    这个用户有且仅有userAdminAnyDatabase这个角色的权限。

    比如:创建一个用户名为siteUserAdmin的用户在admin数据库中,(必须是在admin数据库中创建)。

    use admin

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

    对于角色、权限以及创建用户的命令,请参考:创建一个administrator用户角色以及db.createUser()

  3.以认证的方式启动MongoDB数据库

    mongod --auth --port 27017 --dbpath /data/db1

  4.创建其他的用户

   文档参考:https://docs.mongodb.org/v2.6/tutorial/add-user-to-database/

   1.用有合适权限的用户连接MongoDB实例

     比如:使用刚才创建的administrator用户siteUserAdmin,

      mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin

   2.创建一个新用户

    创建用户语法可以参考:db.createUser()

    下面的例子是在reporting数据库中创建一个用户。

    use reporting  

    db.createUser(
      {
        user: "reportsUser",
        pwd: "12345678",
        roles: [
          { role: "read", db: "reporting" },
          { role: "readWrite", db: "reporting" }
        ]
      }
    )

    其中,use reporting命令,如果没有reporting数据库,则创建这个reporting数据库。

    如果要认证这个reportUser用户,就必须在reporting数据库中认证。

开启MongoDB客户端访问控制的更多相关文章

  1. linux下MongoDB客户端shell基本操作

    MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:”xiaoming”},第二条记录:{name:”xiaoli”,age:15} ...

  2. [翻译]Telnet简单介绍及在windows 7中开启Telnet客户端

    文章翻译自 http://social.technet.microsoft.com/wiki/contents/articles/910.windows-7-enabling-telnet-clien ...

  3. CentOS6.3安装MongoDB2.2 及 安装PHP的MongoDB客户端

    下载源码:(放到 /usr/local/src 目录下) 到官网 http://www.mongodb.org/downloads 下载源码 https://fastdl.mongodb.org/li ...

  4. MongoDB 客户端 MongoVue

    直接上图片,图片是按顺序来的 软件下载地址(Windows下的MongoDB客户端MongoVUE 这是最后一个全功能的不收费的版本): http://pan.baidu.com/s/1skYIEq5

  5. yum安装配置mongoDB客户端和服务器端

    1,Centos6.X yum安装mongoDB客户端和服务器端; yum -y install mongodb mongodb-server; 基于epel repo.当前的mongoDB的版本为2 ...

  6. 在apache2.4版本之前做客户端访问控制,是用Allow Deny Order指令做访问控制的,

    在apache2.4版本之前做客户端访问控制,是用Allow Deny Order指令做访问控制的,而在2.4的版本上是用的用法跟之前的版本大不相同,如下 ###################### ...

  7. 最佳的MongoDB客户端管理工具

    <最佳的MongoDB客户端管理工具> 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一个好的MongoD ...

  8. mongodb客户端操作常用命令(续)

    之前有写过一篇mongodb客户端的操作常用命令 ,今天接着来记录分享一些关于mongodb账户权限设置的命令操作 上期mongodb客户端的操作常用命令地址:https://www.cnblogs. ...

  9. MongoDB 带访问控制的副本集部署

    当你需要用到一个MongoDB 副本集集群,用于开发测试时, 可以通过下面的步骤简单完成. 版本及环境 MongoDB4.4  Centos6.5  一. 下载安装 MongoDB Server 及 ...

随机推荐

  1. Java之路——环境配置与编译运行

    本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...

  2. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(三)

    一步步打造一个简单的 MVC 电商网站 - BooksStore(三) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore &l ...

  3. 急速搭建SuperMap iCloudManager for Docker环境

    大家好,SuperMap iCloudManager 是超图的 GIS 云管理系统,它是出色的云GIS平台的大管家. 它很简单,部署操作都很简单. 它很智能,可以实时监控 GIS 业务环境的 CPU ...

  4. javaScript对象学习笔记(一)

    一.什么是对象 对象: JavaScript的一种基本数据类型 对象是属性的无序集合,每个属性都是一个名/值对 JavaScript中的事物都是对象:字符串.数值.数组.函数... JavaScrip ...

  5. salesforce 零基础学习(六十八)http callout test class写法

    此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restfu ...

  6. 高吞吐koa日志中间件

    Midlog中间件 node服务端开发中少不了日志打点,而在koa框架下的日志打点在多进程环境中日志信息往往无法对应上下文,而且在高并发下直接进行写buffer操作(内核调用writev)也会造成内存 ...

  7. .NET中数据访问方式(一):LINQ

    语言集成查询(Language-Integrated Query),简称LINQ,.NET中的LINQ体系如下图所示:   在编程语言层次,LINQ对于不同的数据源提供了相同的查询语法,方便了程序员操 ...

  8. 怎样配置mysql_installer_community_V5.6........_setup的数据库?

    直接访问查看如下路径就可以根据方法匹配 http://jingyan.baidu.com/album/c35dbcb0f1b1448916fcbcc7.html

  9. CI框架浅析(二)

    该文延续上篇文章: CI框架浅析(一) 在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php Common.php 负责加载 ...

  10. tmux配置

    bind k selectp -U bind j selectp -D bind h selectp -L bind l selectp -R bind -r ^k resizep -U 5 bind ...