mongodb 权限字段详情

  • user 字段,为新用户的名字;
  • pwd 字段,用户的密码;
  • cusomData 字段,为任意内容,例如可以为用户全名介绍;
  • 超级用户的 role 有两种,userAdmin 或者 userAdminAnyDatabase (比前一种多加了对所有数据库的访问,仅仅是访问而已)。
  • db 是指定数据库的名字,admin 是管理数据库。
  • 不能用 admin 数据库中的用户登录其他数据库。注:只能查看当前数据库中的用户,哪怕当前数据库 admin 数据库,也只能查看 admin 数据库中创建的用户。
  • roles 字段,指定用户的角色,可以用一个空数组给新用户设定空角色。在 roles 字段,可以指定内置角色和用户定义的角色。

role可选值:

  • 数据库用户角色:read、readWrite;
  • 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  • 备份恢复角色:backup、restore;
  • 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 超级用户角色:root
  • 内部角色:__system,间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
role具体角色 权限说明
Read 允许用户读取指定数据库
readWrite 允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root 只在admin数据库中可用。超级账号,超级权限

创建 admin 超级管理员用户

指定用户的角色和数据库:

此时添加的用户都只用于 admin 数据库,而非你存储业务数据的数据库

(在cmd中敲多行代码时,直接敲回车换行,最后以分号首尾)

db.createUser(
{ user: "admin",
customData:{description:"superuser"},
pwd: "admin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

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

root 角色:不仅可以授权、也可对集合进行任何操作,但不建议直接使用

db.createUser(
{
user:"root",
pwd:"pwd",
roles:["root"]
}
)

创建一个业务数据库管理员用户

> db.createUser({
user:"user001",
pwd:"123456",
customData:{
name:'jim',
email:'jim@qq.com',
age:18,
},
roles:[
{role:"readWrite",db:"db001"},
{role:"readWrite",db:"db002"},
'read'// 对其他数据库有只读权限,对db001、db002是读写权限
]
})

查看创建的用户

show users 

db.system.users.find() 

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

修改密码

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

修改密码和用户信息

db.runCommand(
{
updateUser:"username",
pwd:"xxx",
customData:{title:"xxx"}
}
)

删除数据库用户

use admin
db.dropUser('user001')

创建其他数据管理员

// 登录管理员用户
use admin
db.auth('admin','admin')
// 切换至db001数据库
use db001
// ... 増查改删该数据库专有用户

mongodb 用户权限管理配置的更多相关文章

  1. MongoDB用户权限管理配置

    MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的 ...

  2. 如何对MongoDB 3.2.7进行用户权限管理配置

    转自:https://www.jianshu.com/p/a4e94bb8a052 上次写了一篇在CentOS7上源码安装MongoDB 3.2.7,完成了MongoDB 3.2.7的安装,但需要应用 ...

  3. mongodb 3.2 用户权限管理配置

    使用mongodb 有段时间了,由于是在内网使用,便没有设置权限,一直是裸奔. 最近有时间,研究了下mongodb 3.2 的用户权限配置,网上有许多用户权限配置的文章,不过大多是之前版本,有些出入, ...

  4. [MongoDB] 用户权限管理

    在新环境按照原来的步骤新装了MongoDB,结果出现了一些错误,才发现版本升到了2.6.1,用户权限相关的内容全部改掉了. 现在使用Role来管理用户,有一些内置的Role,也可以自定义Role. 内 ...

  5. mongodb用户权限管理(二)

    数据库 分配用户权限 有了创建语法,和参数说明,接下来开始实践. 注意,还有一点,账号是跟着数据库绑定的,在那个库里授权,就在那个库里验证(auth) 否则会失败 创建 账号管理授权权限 的账号 &g ...

  6. MongoDB用户权限管理

    创建用户账号: (roles参数指定了用户的角色以及这个账号授权的数据库,在同一个数据库中不能同时创建两个用户名相同的账号) Mongodb内置的用户角色: 数据库用户角色:read.readWrit ...

  7. mongodb用户权限管理的CRUD

    https://blog.csdn.net/weixin_34332905/article/details/88759759?utm_medium=distribute.pc_relevant.non ...

  8. ClickHouse学习系列之二【用户权限管理】

    背景 最近花了些时间看了下ClickHouse文档,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统.在安装完之后首先做的应该如何设置用户密码以及权限控制.因为 ...

  9. [原]Jenkins(十三)---jenkins用户权限管理

    * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较

  10. Jenkins拾遗--第三篇(用户权限管理)

    采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...

随机推荐

  1. Qt编写跨平台视频监控系统(64通道占用7%CPU/支持win_linux_mac等)

    一.前言 视频监控组件经历过数十年的迭代,从最初的只简单播放个rtsp视频流,到现在支持各种音频视频文件格式(mp3.wav.mp4.asf.rm.rmvb.mkv等).支持各种视频流格式(rtp.r ...

  2. [转]Linux系统下的GCC编译过程、使用命令详解(多文件编译、动态库、静态库)

    Linux系统下的GCC编译过程.使用命令详解(多文件编译.动态库.静态库) [Linux]gcc简介+编译过程 翻译 搜索 复制

  3. MIPI/LVDS/PCIE/HDMI 设计规范

      参考链接: 1.MIPI/LVDS/PCIE/HDMI 2.接口简介(HDMI .eDP/DP.LVDS.VGA.YPbPr.DVI.MHL.MIPI-DSI.VbyOneHS) 3.干货 | 带 ...

  4. 总是被低估,从未被超越,揭秘QQ极致丝滑背后的硬核IM技术优化

    本文由腾讯云开发者张曌.毕磊分享,原题"QQ 9"傻快傻快"的?!带你看看背后的技术秘密",本文进行了排版和内容优化等. 1.引言 最新发布的 QQ 9 自上线 ...

  5. 输出满足1+2+3+…+*n*<8888的最大整数

    输出满足1+2+3+-+n<8888的最大整数 编写应用程序,输出满足1+2+3+-+n<8888的最大整数 输出格式:满足条件的最大整数:xxxxx public class Demo0 ...

  6. 【Java并发编程线程池】 ForkJoinPool 线程池是什么 怎么工作的 和传统的ThreadPoolExecutor比较

    Java 中的 ForkJoinPool 线程池是什么 怎么工作的 Java 中的 ForkJoinPool 线程池是什么 怎么工作的 相比较于传统的线程池,ForkJoinPool 线程池更适合处理 ...

  7. 为了解决服务启动慢的问题,我为什么要给Apollo和Spring提交PR?

    最近在整理之前记录的工作笔记时,看到之前给团队内一组服务优化启动耗时记录的笔记,简单整理了一下分享出来.问题原因并不复杂,主要是如何精准测量和分析,优化后如何定量测量优化效果,说人话就是用实际数据证明 ...

  8. 题解:CF727F Polycarp's problems

    link. 贪心做法. 本题贪心做法的实质就是用整数尽量多地抵消该整数后面的负数. 如果正着做,没有办法考虑全该数后面的所有负数,所以倒着做. 例如当前遍历到了 \(50\),此时序列如下: \[\d ...

  9. Zookeeper、Eureka、Consul、Nacos、Etcd全方位对比

    前三篇博文分别记录了Eureka.Zookeeper.Consul三个服务中心,那么他们之前有何区别呢? 一: 因为不会同时存在或者同时满足C.A.P三个方面,所以只能存在cp,ap,ca三种体系, ...

  10. 阿里云-数据库-ClickHouse

    https://help.aliyun.com/product/144466.html 云数据库ClickHouse是开源列式数据库管理系统ClickHouse在阿里云上的托管服务,用户可以在阿里云上 ...