Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mongodb用户管理

mongodb用户管理

作者头像
切图仔
发布于 2022-09-14 07:58:13
发布于 2022-09-14 07:58:13
86300
代码可运行
举报
文章被收录于专栏:生如夏花绚烂生如夏花绚烂
运行总次数:0
代码可运行

1.创建管理账号

mongodb安装好后第一次进入是不需要密码的,也没有任何用户。 在安装MongoDB之后,先关闭auth认证,启动服务端:

现在需要创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。

添加管理用户:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

user:用户名

pwd:密码

roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选: Built-In Roles(内置角色):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root 
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system

具体角色:

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

刚建立了 userAdminAnyDatabase 角色,用来管理用户,可以通过这个角色来创建、删除用户。

2.开启auth参数,认证通过后才能访问数据库

3.数据库创建用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
db.createUser(
  {
    user: "db",
    pwd: "jp_123",
    roles: [ { role: "readWrite", db: "wx_applet" } ]
  }
)

在我们自己的数据库里创建用户,此时没有验证,导致没权限。

db.auth("db","jp_123") 认证通过后可以操作数据库。

show collections 可以查看集合。

查看用户:

4.用户名和密码验证:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./mongo -u db -p jp_123 127.0.0.1:27017/wx_applet
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux下mongodb用户管理和设置远程登陆
前提:已经在linux上安装好了mongodb。安装方法这里不说了,网上各种有。 本地用到的工具(windows):mongoChef(一个可视化操作工具,可以用于3.xx版本,romongo不行)
ACK
2020/01/14
3.6K0
Linux下mongodb用户管理和设置远程登陆
MongoDB的安全和权限控制(二)
MongoDB提供了内置的数据库审计功能,可以记录用户在MongoDB上的所有操作,包括对集合的查询、更新、删除等操作。管理员可以使用审计日志来监控数据库的访问,识别潜在的安全问题,并采取必要的措施来保护数据。以下是一个启用审计日志的示例:
堕落飞鸟
2023/05/09
3970
MongoDB 常用
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4O4
2022/04/25
3070
三、MongoDB高级操作
测试:age添加索引情况 语法:db.c1.createIndex({age: 1}) 继续:db.c1.find({age:18}).explain(‘executionStats’)
Dreamy.TZK
2020/07/09
1.7K0
三、MongoDB高级操作
CentOS 6 上mongodb安装与使用
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/79797705
shaonbean
2019/05/26
9560
MongoDB 使用系列(一)-- 安装
环境 系统:Ubuntu 16.04 MongoDB 版本:3.6 安装 添加软件源 1.添加 MongoDB 签名到 APT $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 2.创建/etc/apt/sources.list.d/mongodb-org-3.6.list文件并写入命令 Ubuntu 14.04 $ echo "deb [ arch=amd64 ] https://repo.m
木制robot
2018/04/13
1.3K0
MongoDB 用户权限管理
authenticationRestrictions:该字段为3.6版本以后的新特性,服务器在创建用户上强制执行的身份验证限制。指定可连接服务器的访问用户的ip地址列表或指定可连接服务器的服务器ip地址列表。(即白名单验证)
Power
2025/03/02
2350
Linux 安装 MongoDB
一、下载 Linux:CentOS 7.3 64位 MongoDB:3.6.4 安装目录:/usr/local cd /usr/local wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.4.tgz 回到顶部 二、解压缩     解压缩安装包并重命名(方便管理) tar -zxvf mongodb-linux-x86_64-rhel62-3.6.4.tgz mv mongodb-linux-x86_64-rhel62
JMCui
2018/06/14
2.2K0
MongoDB学习笔记-3、MongoDB权限介绍
MongoDB数据库其安全性并不高,为了防止被一些好心人进行攻击,有效的方法是启用身份验证、不允许远程访问或者添加IP访问限制。
pbinlog
2022/03/13
6280
MongoDB学习笔记-3、MongoDB权限介绍
原 MongoDB 开启用户认证登录
添加用户 db.createUser({user:'username',pwd:'password',roles:[{role:'root',db:'admin'}]}) username : 用户名;password : 密码; roles:为权限集见下文 用户权限集 获取所有权限集 show roles { "role" : "__system", "db" : "admin", "isBuiltin" : true, "roles" : [ ], "inheritedRoles" :
霡霂
2018/06/04
9880
MongoDB从入门到实战之Docker快速安装MongoDB
      在上一篇文章中带领带同学们快速入门MongoDB这个文档型的NoSQL数据库,让大家快速的了解了MongoDB的基本概念。这一章开始我们就开始实战篇教程,为了快速把MongoDB使用起来我将会把MongoDB在Docker容器中安装起来作为开发环境使用。然后我这边MongoDB的可视化工具用的是Navicate。废话不多说,我们先花了几分钟开始的把MongoDB环境搭建起来。
追逐时光者
2023/05/26
8770
MongoDB从入门到实战之Docker快速安装MongoDB
零基础学习MongoDB (三)—— 管理用户
在b站上听了几个老师的课,有涉及到mongodb的一些历史,比如删库勒索,因此开放的数据库是很危险的,所以我们需要给它们添加管理用户,这样为我们的数据安全加一道墙
小丞同学
2021/08/16
2900
实战 | MongoDB的安装配置
通过上面的安装MongoDB目前还处于裸奔状态,我们必须给其配置上用户密码认证登录。首先我们给MongoDB配置一个超级管理员,操作步骤如下:
JAVA日知录
2021/04/07
6070
实战 | MongoDB的安装配置
MongoDB 4.x 的使用以及账户权限配置
MongoDB4.x的安装与之前版本基本一样,不同的是4.x的版本将服务写进了操作系统,所以在安装时需要设置服务名称,同时还要指定数据库文件存放目录与日志目录。
越陌度阡
2020/11/26
1.1K0
MongoDB 4.x 的使用以及账户权限配置
mongodb设置密码 原
rote:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等
拓荒者
2019/03/11
2.4K0
MongoDB数据库的基本使用总结
江湖有缘
2023/09/14
1.7K0
MongoDB数据库的基本使用总结
MongoDB认证和授权
MongodDB存储所有的用户信息在admin数据库的集合system.users中,保存数据库、密码和数据库信息。MongoDB默认不启用权限认证,只要能连接到服务器,就可连接到mongod。 若要启用安全认证,需要更改配置文件Authorization,也可简写为 auth。或者在命令行启动MongoDB时加上 -auth参数启动,这样当MongoDB启动后就需要用户和密码进行认证了。
拓荒者
2019/09/17
5.8K0
一文搞懂Linux CentOS7中关于MongoDB的认证和授权设置
首先,这篇文章不会讲Mongodb在Linux CentOS7中如何去安装,所以如果有不会安装数据库的朋友可以去参考一下Mongodb官网的安装步骤,还是比较详细的,也可以自行搜索。
吴佳
2022/09/26
1.4K0
mongodb基础应用
MongoDB 用 use + 数据库名称(use DATABASE_NAME) 的方式来创建数据库。use 会创建一个新的数据库,如果该数据库存在,则返回这个数据库。例如:创建一个名为“test”的数据库:
shirley
2019/05/04
7830
MongoDB(一)环境搭建与初始配置
前言   最近的项目中需要用到MongoDB,所这段时间需要学习知道怎么去使用这个数据库。   这里我先简单的介绍一下什么是MongoDB,后面还会详细的介绍:     MongoDB 是一个面向文档的通用型数据库,拥有 MySQL 等关系型数据库常用功能。除了能够创建、读取、更新和删除数据之外,也还提供了一些拓展的功能,     如索引、聚合、特殊的集合类型(如时间有限的集合)、分片和集群,是一个易于使用、便于拓展的数据库。也正因为它的这些特性,也是前端童鞋使用得比较     多的一种数据库。   一、在
用户1195962
2018/01/18
2.7K0
MongoDB(一)环境搭建与初始配置
相关推荐
Linux下mongodb用户管理和设置远程登陆
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验