1. 创建一个超级用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
use admin
db.createUser(
  {
    user: "adminUserName",
    pwd: "userPassword",
    roles:
    [
      {
        role: "userAdminAnyDatabase",
        db: "admin"
      }
    ]
  }
)

超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问)。

db是指定数据库的名字,admin是管理数据库。

2. 用新创建的用户登录

1
mongo --host xxx -u adminUserName -p userPassword --authenticationDatabase admin

不能用admin数据库中的用户登录其他数据库

3. 查看当前用户的权限

1
2
3
4
5
6
db.runCommand(
  {
    usersInfo:"userName",
    showPrivileges:true
  }
)

注:只能查看当前数据库中的用户,哪怕当前数据库admin数据库,也只能查看admin数据库中创建的用户。

4. 创建一般用户,也是用createUser

1
2
3
4
5
6
7
8
9
10
11
12
use db01
db.createUser(
  {
    user:"oneUser",
    pwd:"12345",
    roles:[
      {role:"read",db:"db01"},
      {role:"read",db:"db02"},
      {role:"read",db:"db03"}
    ]
  }
)

5. 创建一个不受访问限制的超级用户

1
2
3
4
5
6
7
8
use admin
db.createUser(
  {
    user:"superuser",
    pwd:"pwd",
    roles:["root"]
  }
)

6. 修改密码

1
2
use admin
db.changeUserPassword("username", "xxx")

7. 查看用户信息

1
db.runCommand({usersInfo:"userName"})

8. 修改密码和用户信息

1
2
3
4
5
6
7
db.runCommand(
  {
    updateUser:"username",
    pwd:"xxx",
    customData:{title:"xxx"}
  }
)

注:

1. 和用户管理相关的操作基本都要在admin数据库下运行,要先use admin;

2. 如果在某个单一的数据库下,那只能对当前数据库的权限进行操作;

3. db.addUser是老版本的操作,现在版本也还能继续使用,创建出来的user是带有root role的超级管理员。

MongoDB用户管理的更多相关文章

  1. 浅析MongoDB用户管理

    浅析MongoDB用户管理 http://www.jb51.net/article/53830.htm mongodb3.03开启认证 http://21jhf.iteye.com/blog/2216 ...

  2. MongoDB和Java(7):MongoDB用户管理

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  3. mongodb用户管理和服务安装

    一.忘记密码快速找回 任何系统忘记密码都是一样的操作:以无需授权的模式开启程序,然后进入系统修改权限设置,退出来重新以授权方式开启程序.MySQL是这样,MongoDB也是这样.好的系统都提供了无授权 ...

  4. MongoDB 用户管理

    创建管理员账户: 1.登录 [root@MongoDB ~]# mongo 2.切换到admin数据库创建账户 > use admin switched to db admin 3.用户创建用户 ...

  5. mongodb的用户管理及安全认证

    1.确认mongodb的版本 > use admin switched to db admin > db.runCommand({}) { "version" : &q ...

  6. MongoDB的用户管理(6)

    注意: A)在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据. 即 use admin , -->相当于进入超级用户管理模式. B)mongo ...

  7. 【mongoDB运维篇①】用户管理

    3.0版本以前 在mongodb3.0版本以前中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据库.即 use admin , 相当于进入超级用户管理模式,mongo ...

  8. MongoDB基础之七 用户管理

    MongoDB的用户管理 注意:A)在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据.即 use admin , -->相当于进入超级用户管理 ...

  9. MONGODB用户、角色和权限管理

      最近遇到很多问MONGODB用户认证授权方面的问题,现在特记录下来,与大家共享. 一.概念理解 1.用户概念 Mongodb的用户是由 用户名+所属库名组成 例如: 登录mongo  testdb ...

随机推荐

  1. [ActionScript] AS3 绘制虚线

    import flash.geom.Point; import flash.display.MovieClip; import flash.display.Graphics; function dra ...

  2. CRM 2016 自定义lookup过滤

    function preFilterLookup() { //终端业态 Xrm.Page.getControl("new_typeofoperationid").addPreSea ...

  3. Node.js解析Excel

    1.使用node-xlsx包 var xlsx = require('node-xlsx'); 只支持xlsx格式 2.解析的Excel文件格式如下: 3.程序如下: var obj = xlsx.p ...

  4. SQL查询数据库是否存在

    在实际工作中会遇到通过SQL查询数据库是否存在的情况,下面一些语句可以提供一些帮助,本文的语句是在SQL08R2中测试的 1,查询当前数据库服务器所有数据库 select *  From master ...

  5. Flex 医疗行程图

    ================================================ 病案的质量控制: 1.医生自检,主任检测,病案室检测达到三级检测 2.人工检测,自动检测 3.抽检(采 ...

  6. PHP获取文件目录dirname(__FILE__),getcwd()

    以discuz x2.5为例 D:/www/upload2.5/test.php D:/www/upload2.5/source/class/class_test.php test.php文件如下 & ...

  7. Android——Handler总结

    一.Handler的定义:          主要接受子线程发送的数据, 并用此数据配合主线程更新UI.          解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线 ...

  8. 结束日期必须大于开始日期--My97DatePicker日历控制的又一方便之处

    在做时间查询时,有时需要两个日期,从一个日期到另外一个日期的那种,但是这样会有一个问题,比如后者的结束日期晚于开始日期怎么办?用JS写验证,麻烦,呵呵,用这个日历控件,可方便实现结束日期只显示开始日期 ...

  9. Android开发-API指南- Calendar Provider

    Calendar Provider 英文原文:http://developer.android.com/guide/topics/providers/calendar-provider.html 采集 ...

  10. Flash图表控件FusionCharts如何定制图表中的趋势线和趋势区

    FusionCharts中的趋势线是什么 趋势线是横跨图标的水平/垂直线条,用来表示一些预订数据值. 在图表中展示趋势线 用户可以使用<chart>元素中的trendlines属性来显示图 ...