参考官方文档: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. HTMLElement

    参考文档:MDN HTMLElement 一.继承关系 所有HTML元素都是由HTMLElement或者其更具体的子类型来表示的. HTMLElement继承自Element,并实现了GlobalEv ...

  2. NGUI 解决UILable 在空行起始位置加‘\n’

    NGUI 解决UILable 默认在顶满第一行时,在起始位置如键入空格无效,其原因就是会加入换行符,使字符串,整体换行了 解决办法加入bool变量控制 1在 UILable代码中添加 [HideInI ...

  3. h5 做app时和原生交互的小常识。

    距离上次随笔或许有半年了吧,最近在用hybrid模式开发移动app,所以就简单的说说用h5技术开发app时候,做原生交互的几个小常识: 一.拨打电话或者发送短信: <a href="t ...

  4. android开发用无线网络进行Android开发中的调试

    1.手机具有root权限 2.安装adbWireless1.5.4.apk (下面有下载地址) 3.敲入命令:adb connect 192.168.1.127  后面是手机的IP地址 打开eclip ...

  5. JS实现轻量级计算器

    想尝试做一个网页版计算器后,参考了很多博客大神的代码,综合归纳.总结修改,整理如下文. 附:   Demo    源码 一.HTML+CSS 具体结构样式如下图,基本参照手机计算器界面.按钮功能可以查 ...

  6. input标签禁止输入,隐藏光标

    <INPUT class=""  value="" name= "" readonly onfocus="this.blur ...

  7. html的常用基础应用

    HTML结构   如下一段最简单的HTML代码:<html>     <head>          <title>HTML页面</title>     ...

  8. 关于css禁止文本复制属性

    最近在做DHTMLX框架替换,新框架dhx的grid是不能选中内容复制的 虽然相对来说是安全些的,但是客户体验度一定会大打折扣 网页上禁止复制主要靠JavaScript来实现.<BODY onc ...

  9. 【转】JDBC学习笔记(7)——事务的隔离级别&批量处理

    转自:http://www.cnblogs.com/ysw-go/ 数据库事务的隔离级别 对于同时运行的多个事务, 当这些事务访问数据库中相同的数据时, 如果没有采取必要的隔离机制, 就会导致各种并发 ...

  10. 【转载】stm32的GPIO八种工作模式

    一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定.         推挽电路是两个参数 ...