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开发经验小技巧266-270

    从Qt6.4版本开始多媒体模块提供了ffmpeg作为后端解码使用(6.5版本默认就是ffmpeg),可以通过设置环境变量来更改使用哪种后端解码,在main函数的第一行 qputenv("QT ...

  2. 【OpenCV】features2d_converters.cpp:2:10: fatal error: common.h: 没有那个文件或目录

    Linux环境下使用opencv的dnn模块调用yolov4遇到的坑(纯CPU)一.问题描述Ubuntu安装opencv4.4,第一次编译完成安装成功,发现编译时少加了几个选项,于是重新编译,结果报如 ...

  3. Linux部署Redis哨兵集群 一主两从三哨兵

    目录一.哨兵集群架构介绍二.下载安装Redis2.1.选择需要安装的Redis版本2.2.下载并解压Redis2.3.编译安装Redis三.搭建Redis一主两从集群3.1.准备配置文件3.1.1.准 ...

  4. TCA 复习

    HTML中预览PDF 手机端无法识别embed <embed src="***.pdf" id="review" style="width:11 ...

  5. RockyLinux9编译安装MySQL5.7

    Linux版本: Rocky Linux release 9.5 (Blue Onyx) 1.下载 打开MySQL-Community-Server官方下载页面:https://downloads.m ...

  6. 再获权威认可!天翼云论文被IEEE/ACM CCGrid收录

    近日,由天翼云弹性网络开拓者团队撰写的<Towards Better QoS and Lower Costs of P4 EIP Gateway at the Edge>论文被The 24 ...

  7. grpc的使用

    需要保证电脑中安装了:protobuf安装教程 如果出现报错请看博客:protobuf报错问题解决 基本使用demo地址:demo 安全传输.流式传输的demo地址:demo2 简介: rpc微服务, ...

  8. shell学习之保存数据库

    自动备份 Mysql 数据库脚本 #!/bin/bash #author by wxp #used to backup mysql practise USER=root PASSWD=1234 HOS ...

  9. vue-element-template实现顶部菜单栏

    一.框架侧边栏改为顶部导航栏 1.复制src/layout/componets/Sidebar所有文件至同级目录,改名为Headbar 2.src/layout/components/index.js ...

  10. Luogu P9180 [COCI2022-2023#5] Slastičarnica 题解 [ 蓝 ] [ 区间 dp ] [ dp 状态优化 ] [ 前缀和优化 ]

    Slastičarnica:非常好的区间 dp 题. 暴力 不难设计出暴力状态:\(dp_{q,i,j}\) 表示进行到第 \(q\) 次操作,剩下区间 \([i,j]\) 是否可行. 直到全部状态都 ...