mongodb分为管理员用户和普通用户,并且还有个验证库,建立用户时use到的库(验证库),信息就存储在admin数据库下。

在使用用户时,要加上验证库才能登录,对于管理员用户,必须在admin下创建,验证用户返回值为1即成功。

1、创建管理员用户

语法:
user:用户名
pwd:密码
roles:
role:角色名
db:作用对象 常用role:root、readWrite、read
> use admin
switched to db admin
> db.createUser({
... user:"root",
... pwd:"yy123456",
... roles:[{role:"root",db:"admin"}]
... }
... )
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
> db.auth('root','yy123456')
1
>

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

2、创建普通用户

> use test
switched to db test
> db.createUser({
... user:"test_1",
... pwd:"123456",
... roles:[{role:"readWrite",db:"test"}]
... })
Successfully added user: {
"user" : "test_1",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}

 > db.auth('test_1','123456')
 1
 >

3、登录

#本地登录
mongo -uroot -pyy123456 admin
mongo -utest_1 -p123456 test #远程登录
mongo -uroot -pyy123456 ip+端口/admin
mongo -utest_1 -p123456 ip+端口/test

4、删除用户

 以root用户登录,删除后use到admin库,查看所用用户信息

> use test
switched to db test
> db.dropUser("test_1")
true
> db.auth('test_1','123456')
Error: Authentication failed.
0
> use admin
switched to db admin
> db.system.users.find().pretty()
{
"_id" : "admin.root",
"userId" : UUID("31cc514b-00b2-434b-8d78-2dcd450f3cf2"),
"user" : "root",
"db" : "admin",
"credentials" : {
"SCRAM-SHA-1" : {
"iterationCount" : 10000,
"salt" : "WVVZcAR1PnSjQLTAMolnYA==",
"storedKey" : "m5P8eMDZ7NvmpjAYH8FGTO6+k9k=",
"serverKey" : "B1mD3dfNpvlza7eO5g80MovmUaA="
},
"SCRAM-SHA-256" : {
"iterationCount" : 15000,
"salt" : "eivTZLkntjrnQllzhE8uUHCWtNdVpcvMT8Pysg==",
"storedKey" : "9NjJIph+k4WOnC+Fa/Th1LIzRbItK/R33EOZX8DC3+0=",
"serverKey" : "eF3eieOZvDEzQ0fMZlnOy1q0zXSwcD/5FeTzM7jIbFM="
}
},
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
>

5、用户权限

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

Mongodb--用户/权限的更多相关文章

  1. MongoDB用户权限管理配置

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

  2. MongoDB用户权限认证

    关于用户的认证及权限 用户是跟着库创建的,在哪个库创建的什么权限的什么用户,只对此库有相应权限(除超级管理员以外). 官网文档:https://docs.mongodb.com/master/refe ...

  3. [MongoDB] 用户权限管理

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

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

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

  5. mongodb 用户 权限 设置 详解

    原文地址:http://blog.51yip.com/nosql/1575.html 我知道的关系型数据库都是有权限控制的,什么用户能访问什么库,什么表,什么用户可以插入,更新,而有的用户只有读取权限 ...

  6. MongoDB用户权限操作语法及示例

    1.创建用户 1.1.语法格式: 1.1.1.格式及例子 >db.createUser( { user: "<name>", pwd: "<cle ...

  7. MongoDB用户权限管理

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

  8. 【用户权限】MongoDB用户权限

    一.数据库用户角色: read:允许用户读取指定数据库readWrite:允许用户读写指定数据库 二.数据库管理角色:dbAdmin.dbOwner.userAdmin: dbAdmin:允许用户在指 ...

  9. mongodb 用户权限控制

    MongoDB已经使用很长一段时间了,基于MongoDB的数据存储也一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),今天特地花了一点时间研究了一下,研究成果如下: 注:研究成果基于W ...

  10. mongodb用户权限管理的CRUD

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

随机推荐

  1. 代码安全之代码混淆及加固(Android)🔒

    ​ 代码安全之代码混淆及加固(Android) 目录 代码安全之代码混淆及加固(Android) 摘要 引言 正文 代码混淆 代码加固 总结 参考资料 摘要 本文将介绍如何通过代码混淆和加固来保护An ...

  2. 为什么 Django 后台管理系统那么“丑”?

    哈喽大家好,我是咸鱼 相信使用过 Django 的小伙伴都知道 Django 有一个默认的后台管理系统--Django Admin 它的 UI 很多年都没有发生过变化,现在看来显得有些"过时 ...

  3. 在路上---学习篇(一)Python 数据结构和算法 (5)二分查找、二叉树遍历

    独白: 利用算法进行查找指定元素,最近学习二分查找和二叉树遍历.二分查找前提是在有序中进行查找,二叉树引入了树的概念.树的概念其中有许多小知识点,也是一种新的数据结构.还是之前的感悟,需了解其本质才会 ...

  4. 【Javaweb】Servlet九 | base标签的作用【详细介绍】 Web路径相关知识

    base标签的作用 导言:路径跳转 <a href="/a/b/c.html">这是a下的b下的c</a></br> <a href=&q ...

  5. JTAG串链

  6. 设备唯一标识方法(Unique Identifier):如何在 Windows 系统上获取设备的唯一标识

    原文地址 设备唯一标识方法(Unique Identifier):如何在 Windows 系统上获取设备的唯一标识 zz 唯一的标识一个设备是一个基本功能,可以拥有很多应用场景,比如软件授权(如何保证 ...

  7. 9 "网址"--URI

    目录 URI和URL URI详细介绍 URI的组成 URI的查询参数 URI的编码 疑问 URI和URL URI:统一资源标识符(Uniform Resource Identifier) 有两种形式: ...

  8. RabbitMQ入门到进阶

    1.MQ简介 MQ 全称为 Message Queue,是在消息的传输过程中保存消息的容器.多用于分布式系统 之间进行通信. 2.为什么要用 MQ 1.流量消峰 没使用MQ 使用了MQ 2.应用解耦 ...

  9. 2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回-

    2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组. 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回- ...

  10. Python趣味入门10:推倒繁琐化烦为简的推导式

    前言 <西部世界>的德洛丽丝进入了MAZE迷宫,假设她需要列出一系列的平方数作为密码,来进入迷宫.在以往的代码生成类似的数列需要使用循环语句,写多行语句.Python有了推导式,只需要1句 ...