位置: 编程技术 - 正文

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)

  • 税务机关代码怎样查询
  • 税法基本原则是什么意思
  • 财税筹划课程
  • 房租雇东不开发票只有收据怎么处理?
  • 个人独资企业可以转让股权吗
  • 微信支付宝收入计入科目
  • 企业合并怎么做账
  • 应付账款坏账准备的会计分录
  • 银行存款支付比例怎么算
  • 特别纳税调整后 需要更正申报吗
  • 工伤费用的伤残补助金属于福利费吗
  • 出售商标使用权收入计入什么科目
  • 物业管理费属于政府购买服务吗
  • 保险公司赔偿计入营业外收入
  • 未开票增值税怎么申报
  • 不计提盈余公积可以分红吗
  • 基地建设费归哪个会计科目
  • 购买原材料无法确认收入
  • mac电脑command+s
  • 路由器密码忘了怎么查到
  • windows11怎么设置锁屏密码
  • win10如何禁止
  • php字符串赋值
  • 电脑显卡排行榜
  • PHP:Memcached::set()的用法_Memcached类
  • php require include
  • 谷歌浏览器插件中心
  • 最高像素的镜头是多少
  • 当年盈余资金计算公式
  • 若依框架权限控制
  • php中定义常量的函数是什么
  • es6 promise finally
  • 收到退回残保金怎么做账
  • 已入账的发票跨年退回税务
  • 商业承兑汇票贴现流程
  • jvm调优思路
  • 所有者权益股东权益区别
  • 税控盘锁死日期是什么意思
  • 印花税已缴税额
  • 税率5个点是什么意思
  • 关于材料采购的通知
  • 固定资产本期增加怎么算
  • 收到货款发货了没开发票怎么入账
  • 企业出租经营权是否征税
  • 坏账准备计提要求
  • 余利宝收益如何算
  • 什么是债券转让价格与发行价格
  • 以销定产会计怎么做账科目
  • 财产裁定书
  • 物业公司开专票税率是多少
  • 会计借方和贷方有哪些科目
  • 建账的内容一般包括什么
  • 债务重组的适用范围
  • sql中的存储过程
  • linux安装和配置
  • SQL Select语句完整的执行顺序
  • mac安装surge
  • win8系统笔记本怎么恢复出厂设置
  • win10 bios模式
  • 如何编译安装
  • gnaupdaemon.exe是什么
  • win7系统开机进不去
  • centos7.6忘记密码了怎么办
  • 电脑死机常见原因分析
  • 联想电脑win7系统开机修改开机密码
  • win10更新系统遇到错误
  • windows8.1玩穿越火线
  • 在linux操作系统中,/etc/rc.d/init.d
  • win10系统最新更新
  • js原型继承和构造继承
  • vue中使用foreach
  • python重复操作符
  • 批处理set命令
  • 测试驱动开发的基本过程
  • edittext获取焦点弹出键盘
  • 河南省教育厅纪检组举报电话
  • 税务上如何界定收入
  • 税控盘可以申请电子发票吗?
  • 平板电脑购物
  • 签订设计合同
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设