Docker 安装 MongoDB开启认证,创建只读用户权限。

news2024/11/24 19:39:33

创建带认证的mongdb容器

docker run -itd --name mongo -p 27017:27017 mongo --auth

--auth 就是开启mongodb权限认证。如果不加 --auth 则是无权限认证,连接成功后任何用户都可以对数据库进行读写操作。

进入容器并创建用户

docker run -itd  --name mongo -p 27017:27017 mongo --auth
 
docker exec -it mongo mongo admin
 
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
 
db.auth('admin','123456')
 
use ylgroup
 
db.createUser({ user:'root',pwd:'123456',roles:[ { role:'readWrite', db: 'ylgroup'}]});
 
db.auth('root','123456')
 
db.test.save({name:"zhangsan"});

这样就是需要用户认证来区分用户权限。

忘记开启开启权限认证怎么处理

我这里启动了一个没有开启权限的mongo容器。

之前安装MongoDB忘记开启权限了,我在官方文档里找到了两种办法:

1.--auth 不多赘诉,启动时携带它既开启认证。

2.security.authorization 配置文件中我并没有在docker mongo容器中找到完全锲合的下面文档提及的配置文件

我找到一个类似的配置文件——mongod.conf.orig,并且添加了如下配置,

重启容器后创建用户看看会不会生效。

 从上图可以看到没有启动时(--auth)开启认证,mongo容器中修改配置是没法生效的,也可能是我没有改对,但是我查了很久都没有类似的文章,如果您有好的解决办法,望告知。

于是只能最原始的办法,那就是先把容器内数据库等相关文件映射到外部,删除容器,重新创建一个开启认证的mongo并把刚刚挂载到外部的目录再放置到容器内部。

对已经启动的容器添加目录映射

window 下查看容器保存位置:\\wsl$\docker-desktop-data\data\docker\containers

linux 下查看容器保存位置:docker inspect container_name | grep Mounts -A 20

 找到容器目录,linux请看:Docker学习笔记四:Docker给已经启动的容器添加目录映射、端口映射 - 零下一度的微笑 - 博客园 (cnblogs.com)

docker对已经启动的容器添加目录映射(挂载目录)_docker 目录映射_alwaysonline819的博客-CSDN博客

window请看:windows10下docker:给已存在的容器添加端口映射、目录映射的方法_windows docker 映射目录_贺群的博客-CSDN博客

我尝试了这俩种办法,可能是我没有修改对,容器至此无法再启动了。

对于忘记开启开启权限认证怎么处理,后续怎么处理,大家有什么好的办法,望告知

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

九州云参与编写的《电力行业边缘计算白皮书》正式发布

近日,由中国通信标准化协会算网融合产业及标准推进委员会(CCSA TC621)牵头组织的2023算网融合产业发展峰会在北京成功召开。 会上,由中国信息通信研究院牵头联合北京航空航天大学、 国网信息通信产业集团、中国电力科学研究院、九…

区块链-java学习和劝退

字面意思:按照区域划分,每个区域通过可信的账本进行结算,将各个区域链接,形成小中心,大整体的财务结算认证体系; 1、学习前准备 您最好掌握一定的财务基本知识; 2、学习步骤 1)区…

❤️创意网页:如何创建一个漂亮的3D正六边形

✨博主:命运之光 🌸专栏:Python星辰秘典 🐳专栏:web开发(简单好用又好看) ❤️专栏:Java经典程序设计 ☀️博主的其他文章:点击进入博主的主页 前言:欢迎踏入…

Windows系统如何查看物理cpu核数?

Step1:WinR 打开cmd; Step2:输入dxdiag后,回车; Step3:即可查看:

Word字间距怎么调整?2023最新方法总结!

“作为一个Word新手,里面的好多功能我都没有弄清楚。今天正好写了一篇文章,但不知道应该怎么调整字间距。有朋友知道Word字间距怎么调的吗?快教教我!” Word作为一个便捷的办公软件,让我们的工作更方便。学习好Word的使…

CentOS 安装字体 微软雅黑

fc-list命令查看已经安装的字体 fc-list :langzh命令可以查看已安装的中文字体 找到windows系统里面的字体 上传到服务器 /usr/share/fonts/winFonts 下,winFonts目录是自己建立的,名称无要求 如果C:\Windows\Fonts下的字体没法直接传输将这个文件夹复…

vulnhub靶场noob:1

靶机下载地址:Noob: 1 ~ VulnHub Arp发现主机 arp-scan -l 扫描端口 nmap --min-rate 10000 -p- 192.168.21.132 扫描端口的服务版本号以及操作系统 nmap -sV -sT -sC -O -p21,80 192.168.21.132 可以看到ftp里面有文件,web是php 扫描基础漏洞 nma…

12 从0开始学PyTorch| PyTorch全连接网络:建立区分鸟和飞机的模型

上一小节我们终于开始搭建神经网络了,只不过它很简单,并且对我们更早的时候做的温度计转换模型做了一次迭代,甚至连效果都没有太大的变化,这一小节我们开始处理一些有意思的事情:做一个图像分类的模型。 小图像数据集…

Flink数据流

文章目录 一.基本概念二.Flink和Spark三. Flink配置文件四. yarn部署flink4.1 session-cluster模式4.2 pre-job-cluster模式 五.Flink运行时架构5.1 任务提交流程5.2 如何实现并行计算5.3 并行任务需要占用多少slot5.4 一个流处理包含多少任务 一.基本概念 官网介绍 Apache F…

css 禁止多次点击导致的选中了目标div的文字

像下面这样的情况,就可以用这种方法避免掉 禁止多次点击,导致的,选中了目标div的文字 或者 禁止多次点击,导致,html结构被选中显示出来 .targetDiv {-webkit-user-select: none;-moz-user-select: none;-ms-user-sel…

Vue3卡片(Card)

可自定义设置以下属性: 卡片宽度(width),类型:number | string,默认 ‘auto’是否有边框(bordered),类型:boolean,默认 true卡片右上角的操作区域…

所有语言数据类型大汇总(持续更新)

一 c语言 参考 C语言-整数:short、int、long、long long(signed和unsigned)、原码、反码、补码_c语言signed是什么类型_Talent Q的博客-CSDN博客https://blog.csdn.net/qq_43177371/article/details/105703234 二 system verilog

服务器数据恢复-网站服务器宕机无法重启的数据恢复案例

服务器数据恢复环境: 一台linux操作系统网站服务器,该服务器上部署了几十个网站,服务器上只有一块SATA硬盘。 服务器故障&分析: 服务器正常运行中突然宕机,管理员尝试多次重新启动服务器失败,将服务器…

软件测试之测试用例设计方法

目录 1.基于需求设计测试用例 2.具体的测试用例设计方法 1.等价类 2.边界值法 3.判定表 1.基于需求设计测试用例 需求文档->梳理分析需求(掌握需求)->针对文档设计测试用例 在分析测试需求时,一般分为功能测试需求和非功能测试…

职工管理系统

woker.h #pragma once #include<iostream> #include<string> using namespace std; class worker { public://显示岗位信息virtual void showInfo() 0;//获取岗位名称virtual string getDeptName() 0;int m_Id;//职工编号string m_Name;//职工姓名int m_DeptId;…

大学生用一周时间给麦当劳做了个App(uni-app版)

背景 有个大学生粉丝最近私信联系我&#xff0c;说基于我之前开源的多语言项目做了个仿麦当劳的项目&#xff0c;虽然只是个样子货&#xff0c;但是收获颇多&#xff0c;希望把自己写的代码开源出来供大家一起学习进度。这个小伙伴确实是非常积极上进&#xff0c;很多大学生&a…

ssh 连接出现错误: kex_exchange_identification: Connection closed by remote host

错误如下表示&#xff1a; windstormLocalHost-Server ~> ssh webase-front192.168.122.22 Couldnt get a file descriptor referring to the console. fish: Unknown command: nc fish: exec nc -X connect -x 127.0.0.1:15732 192.168.122.22 22 ^^ kex_exchange_id…

个人博客系统(二)

该博客系统共有八个页面,即注册页面、登录页面、添加文章页面、修改文章页面、我的博客列表页面、主页、查看文章详情页面、个人中心页面。 1 注册页面 该页面如图所示: 首先,要先判断注册的用户名、密码、确认密码以及验证码是否为空,若有一个为空,点击提交,则会提醒 …

代码随想录二刷day56 | 动态规划之 583. 两个字符串的删除操作 72. 编辑距离

day56 583. 两个字符串的删除操作1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组 72. 编辑距离1. 确定dp数组&#xff08;dp table&#xff09;以及下标的含义2. 确定递推公式3. dp数组如何初始化…

信号采样基本概念 —— 4. 移动平均滤波(Moving Average Filtering)

对于信号的滤波算法中&#xff0c;除了FFT和小波&#xff08;wavelet&#xff09;以外&#xff0c;还有其他一些常见的滤波算法可以对信号denoising。接下来的几个章节里&#xff0c;将逐一介绍这些滤波算法。而今天首先要介绍的就是&#xff0c;移动平均滤波&#xff08;Movin…