位置: 编程技术 - 正文

Mongodb如何开启用户访问控制详解(mongodb使用教程)

编辑:rootadmin

推荐整理分享Mongodb如何开启用户访问控制详解(mongodb使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongodb如何开启验证登陆,mongodb如何开启验证登陆,mongodb如何开启事务,mongodb如何开启事务,mongodb使用教程,mongodb怎么开启,mongodb如何开启事务,mongodb怎么开启,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

Mongodb 数据库默认情况下是没有访问控制的,整个数据库对外是开发的,只要能连上数据库,则可以进行任何操作,这会对数据带来很大的风险。当然,我们可以启用mongodb的访问控制,只让通过认证的用户才能对数据库进行角色范围内的操作。

启用访问控制可以通过在启动 mongodb 时指定 --auth 参数来设置,另外还涉及到创建用户 db.createUser 操作以及一些角色的定义,我们先来看这部分内容。

db.createUser() 用法

参数说明:

user 是用户名 pwd 是密码 role 来指定用户的角色 db 来指定所属的数据库 roles 是用户所有角色的集合

Mongodb 预定义角色

Mongodb 中预定义了一些角色,把这些角色赋予给适当的用户上,用户就只能进行角色范围内的操作。

1、数据库用户角色 (所有数据库都有)

read 用户可以读取当前数据库的数据 readWrite 用户可以读写当前数据库的数据

2、数据库管理角色(所有数据库都有)

dbAdmin 管理员用户但不能对用户和角色管理授权 dbOwner 数据库所有者可进行任何管理任务 userAdmin 可以管理当前数据的用户和角色

3、集群管理角色(admin数据库可用)

clusterAdmin 集群所有管理权限,是 clusterManager , clusterMonitor, hostManager 合集 clusterManager 集群管理和监控 clusterMonitor 集群监控,只读的 hostManager 监控和管理服务器

4、备份和恢复角色(admin数据库可用)

backup restore

5、所有数据库角色(admin数据库可用)

readAnyDatabase 读取所有数据库 readWriteAnyDatabase 读写所有数据库 userAdminAnyDatabase 所有数据库的 userAdmin 权限 dbAdminAnyDatabase 所有数据库的 dbAdmin 权限

6、超级角色(admin数据库可用)

root 超级用户

7、内部角色

__system 所有操作权限 Mongodb如何开启用户访问控制详解(mongodb使用教程)

更多预定于角色的信息请参看: 启动 mongodb 实例,关闭 访问控制

不带 --auth

2, 连接上 mongodb 实例

3,创建用户管理员

在 admin 数据库中添加一个 具有 userAdminAnyDatabase 角色的用户作为用户管理用户。下面的例子中创建了 admin 为用户管理员。

退出连接

4,重启数据库启用访问控制

命令行启动,只需要添加 --auth 参数

5,使用管理用户连接,有两种方法

使用命令行 ./mongo -u "$USERNAME" -p "$PASSWROD" --authenticationDatabase "admin" 使用 db.auth()

我们使用第二种

1 表示认证成功

6, 为某个数据库创建独立用户

以下为 test 数据库 创建具有读写权限的用户 test

admin 用户由于只有 userAdminAnyDatabase 权限,所以没有 test 数据的读写权限,所以,为了读写 test 数据库,我们需要创建一个用户。先看一下直接用 admin 会报什么错误

我们直接使用 show collections , 则报错:not authorized on test to execute command ,意思是没有权限。

然后我们使用 db.auth(“test”, “test”) , 再执行命令 则没有报错

试着写入一条数据,也是正常的。

总结

标签: mongodb使用教程

本文链接地址:https://www.jiuchutong.com/biancheng/312606.html 转载请保留说明!

上一篇:MongoDB运行日志实现自动分割的方法实例(mongodb 日志)

下一篇:Ubuntu下安装mongodb 3.4的详细过程(ubuntu下安装windows)

  • 小规模纳税人月销售额超过15万
  • 递延所得税资产怎么计算
  • 企业跨区变更地址需要多久
  • 计提工资和实际发放工资必须一致吗
  • 公司团建取得的进项发票可以抵扣增值税吗
  • 减免50%的城建税分录怎么做?
  • 高速公路通行费发票可以抵扣增值税吗
  • 公司开业前期费用处理
  • 研发场地租赁计什么科目
  • 公司迁移注册地税务问题
  • 租房提取的话可以全部提取吗
  • 税收分类编码里的劳务是劳务派遣的意思吗
  • 个人之间的房屋抵押需要去房管局做登记吗
  • 一般纳税人财务报表申报流程
  • 购买标书的费用计入什么科目
  • 一次性发放奖金个税怎么计算
  • 个人出租商业用房取得的所得
  • 年底分红如何计税
  • 财务每月需要报哪些税
  • 企业微信收款怎么提现
  • 公司零税收申报
  • 小规模企业增值税税率是多少
  • 符合条件的小微企业,减按20%
  • 材料的盘点包括
  • 1697510722
  • 计征所得税会计分录怎么做?
  • 先计提社保还是先计提工资
  • win10无法设置pin码怎么办
  • 如何将win11笔记本连接到家庭打印机上
  • 关于销售免税品的规定
  • 厂房维修是否可以退税
  • 计提工资的时候是应发合计还是实发合计
  • wordpress portfolio
  • windows7便签删除了怎么恢复
  • linux怎么更改账户名
  • 出口零退税率商品有哪些
  • PHP:pcntl_exec()的用法_PCNTL函数
  • zend framework手册
  • EMQX(MQTT)----基本用法以及使用Python程序进行模拟流程
  • 建筑企业分项目信息采集表怎么填
  • 深度学习实战——不同方式的模型部署(CNN、Yolo)
  • 波来古市在哪里
  • js生成条形码的方式有哪些
  • return函数
  • java enum tostring
  • 赔偿金需要交税么
  • 为什么开发票能抵税
  • 金税盘 解锁
  • 现金银行本票的签发人是谁
  • 固定资产属于有形还是无形资产
  • 公司签发银行承兑汇票的行为属于什么
  • ibm.data.db2
  • 固定资产盘盈为什么计入管理费用
  • 设计公司成本核算分录
  • 先买再卖影响可取现金吗
  • 建行e信通贴现高不高
  • 开具成品油发票时注意事项是?
  • 股东多缴投资款处理
  • 建筑行业未取得收入如何结转成本
  • 长期股权投资账务处理实例
  • 未开发票已收款如何做账?
  • 滞纳金冲留底税额怎么算
  • 房产税计入管理费还是税金及附加
  • 在建工程明细科目怎么设置
  • 什么是速动比率的概念
  • 工业企业中制造费用包括哪些内容
  • 使用sql server
  • linux系统bug
  • 电脑连不上网怎么解决
  • perl语言
  • unity3d面试题摘选(全)
  • javascript函数用法
  • vue做移动端
  • jquery操作
  • Android使用的方式来管理
  • python放歌
  • 使用JQuery实现简单的拼图网页
  • 2021年福建医保什么时候交
  • 轮胎消费税的征收环节
  • 预先支付货款
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设