Mongo版本3.0之前使用的是db.addUser(),但3.0之后使用的是db.createUser()

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

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

# 创建管理用户
> db.createUser({user: "admin",pwd: "admin",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

# 创建只读用户
> db.createUser({user:"a",pwd:"a",roles:[{role:"read",db:"test"}]})

# 创建读写用户
> db.createUser({user:"b",pwd:"b",roles:[{role:"readWrite",db:"test"}]})

# 查看所有用户及权限
> show users
> db.system.users.find()

# 修改用户密码
> db.changeUserPassword("admin", "aaaaa")

# 用户授权

db.grantRolesToUser("admin",[{role:"root", db:"admin"}])

# 查看用户角色
> db.getUser("admin")

# 查看角色权限
db.getRole( "read", { showPrivileges: true } )

开启权限验证:
[root@snails ~]# echo "auth = true" >> /root/mongodb/bin/mongodb.conf

Mongo 用户创建及权限管理的更多相关文章

  1. sql server 用户创建与权限管理

    要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:一.获得准许连接 SQL Server 服务器的权利: 二.获得访问特定数据库中数据的权利(select, update, ...

  2. Informatica学习:3、用户创建与权限管理

    环境:win7 下安装Informatica 9.6.1 服务器端与客户端作为学习之用,Linux大同小异 一.用户创建(服务器端) 1.登陆admin console (1)打开Admin Cons ...

  3. MySQL5.7用户创建及权限管理

    一 用户.权限管理 1.1 用户 作用: 登录,管理数据库逻辑对象 定义: 用户名@'主机值' 主机值可以是主机名或IP地址,主机值中允许使用通配符 root@'10.0.0.%' root@'%' ...

  4. Linux用户创建及权限管理

    作业一: 1,新建用户natasha,uid为1000,gid为555,备注信息为“master” useradd natasha            vim /etc/passwd         ...

  5. (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理

    用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...

  6. [转载]Oracle用户创建及权限设置

    出处:https://www.cnblogs.com/buxingzhelyd/p/7865194.html 权限: create session  允许用户登录数据库权限 create table  ...

  7. 实验楼学习linux第一章第三节用户及文件权限管理

    用户及文件权限管理 常用命令 查看用户 whoami 创建用户 sudo adduser 用户名 切换账户 su 用户名 删除账户 sudo deluser 用户名 --remove-home 查看用 ...

  8. MySQL数据库(6)_用户操作与权限管理、视图、存储过程、触发器、基本函数

    用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIE ...

  9. solaris用户与文件权限管理

    此文章已于 20:45:28 2015/3/22 重新发布到 zhuxuekui3 solaris用户与文件权限管理1 类别    「网站分类」Oracle 一.用户与用户组管理 三种用户:超级用户. ...

随机推荐

  1. centos下mysql数据迁移方法

    第一种: 原始数据库不需要重新安装: 默认mysql会安装在/var/lib/mysql这里,若将数据迁移到/data/mysql目录下,步骤如下: 1.停止mysql服务 2.#cp /var/li ...

  2. 2019-02-28-day001-python介绍

    今日内容大纲: 01 cpu 内存 硬盘 操作系统 CPU:中央处理器,相当于人大脑.---------飞机 内存:临时存储数据. 8g,16g,-----------高铁 1,成本高. 2,断电即消 ...

  3. Oralce 11g新特性 转载

    Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(Informat ...

  4. Python 基于队列的进程通信

    from multiprocessing import Process,Queue def f1(q): q.put('约吗?') if __name__ == '__main__': q = Que ...

  5. NAVICAT for 32位/64位 及破解工具PatchNavicat

    Navicat提供多达 7 种语言供客户选择,被公认为全球最受欢迎的数据库前端用户介面工具. 它可以用来对本机或远程的 MySQL.SQL Server.SQLite.Oracle 及 Postgre ...

  6. Java基础(2)面向对象和封装,对象的创建和使用、java对象的内存图

    1 类和对象 类:是一类事物的描述,抽象的.猫 对象:是一类事物的实例,具体的.某只猫 2 类的定义 成员变量和成员方法 //定义一个学生类 public class Student { //成员变量 ...

  7. Linux内存压力测试stressapptest

    /********************************************************************** * Linux内存压力测试stressapptest * ...

  8. 红外光通信装置数字部分思路点睛 2013年国赛f题

  9. HDU2036:改革春风吹满地

    Problem Description " 改革春风吹满地, 不会AC没关系; 实在不行回老家, 还有一亩三分地. 谢谢!(乐队奏乐)" 话说部分学生心态极好,每天就知道游戏,这次 ...

  10. 第15次Scrum会议(10/27)【欢迎来怼】

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/27 17:20~17:45,总计25min. 地点 ...