centos 宝塔面板 mongodb 设置用户账号密码登录

挂在网上的mongodb测试数据库,默认的无密码,端口直接登录,本来想着不会有人盯上吧,结果,一个月后,被黑客删库了,所以不管是接口,还是数据库的安全性一定要保证!!!

下面针对我的宝塔面板环境,记录给mongodb设置账号密码的过程。

1、进入mongodb安装目录,下面是宝塔面板的默认目录

cd /www/server/mongodb/bin

2、输入命令行mongo,进入mongodb环境

mongo

3、切换到 admin 数据库

use admin

4、给admin设置用户密码

  • user: 用户名
  • pwd: 用户密码
  • roles: 用来设置用户的权限,比如读,读写 等等
db.createUser({user: 'root', pwd: 'admin_mima', roles: ['root']})

5、验证是否添加成功,db.auth(用户名,用户密码)

db.auth('root', 'mima') 

如果返回 '1’表示验证成功, 如果是 ‘0’ 表示验证失败。

6、刚才是给root设置密码,现在要给特定的每个库设置权限,比如demo
切换到demo

use demo

7、接下来为demo库添加一个用户,并且赋予权限,

db.createUser({ user: 'cccc', pwd: 'demo_mima', roles: [{ role: 'readWrite', db: 'demo' }] })

这行代码意思是 创建一个cccc用户 给予读写权限 db表示该用户操作的数据库名。

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

8、一切搞定,重新开机mongodb,通过增加 --auth 开启安全登录

mongod --dbpath /www/server/mongodb/data --auth

不过、我不使用这种方式,我通过修改mongodb的配置文件来实现
原来的配置文件
在这里插入图片描述
修改后的
在这里插入图片描述

  • bindIp修改为 0.0.0.0 允许外网访问
  • authorization 修改为 enabled 开启认证
    重启一下mongodb

最后再进行无密码登录,对不起,不好意思了。
在这里插入图片描述

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

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

相关文章

android 日期选择器

//出生年月设置 private void birthSetting() {Calendar calendar Calendar.getInstance();calendar.add(Calendar.DAY_OF_YEAR, 1);new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {Overridepublic void onDateSet(DatePicker view, int year, in…

启动activity的标准的action常量及对应的字符串

转载于:https://www.cnblogs.com/ouyangping/p/7481700.html

数据批量导入Oracle数据库

仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。现在,我们抛开其理论不谈,用实例来使 您快速掌握SQL*LOADER的使用方法。首先,我们认识一下SQL*LOADER。在NT下&#xff0c…

mongoose 通过账号密码连接 Error: Password contains an illegal unescaped character

mongoose 远程连接,我的密码有乱七八糟的字符,报错Error: Password contains an illegal unescaped character 报错的 mongodb: mongodb://c666:buyaokan###ccav.com:27017/zh_db,改成下面,就好啦 mongodb: mongodb:// encodeURIComponent(…

android 省市区选择器

demo1链接:https://download.csdn.net/download/meixi_android/10819638 效果1——跳页全屏式地区选择器: demo2链接:https://download.csdn.net/download/meixi_android/10823744 样式2——dialog市区选择器: 实现方法&#xf…

CCF - 201703-1 - 分蛋糕

问题描述 试题编号: 201703-1试题名称: 分蛋糕时间限制: 1.0s内存限制: 256.0MB问题描述:   小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n&#…

mongoose Topology was destroyed 处理

在用 node 的 mongoose 模块操作 mongodb 数据库的时候,本来正常返回数据,但是有时候会返回空白页,控制台里报错: Topology was destroyed数据库连接代码如下: var mongoose require(mongoose); mongoose.connect(m…

windows 下oracle 数据库 rman 备份

明确目标编写rman批处理文件 目标: A 每天夜间2点执行备份 B数据库全备,同时备份控制文件及归档日志文件,备份文件保存至:F:\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志&#xff…

android xml 解析

创建xml 文件 <root><province name"安徽省"><city name"安庆市"><district name"枞阳县" zipcode"246000" /><district name"大观区" zipcode"246000" /><district name"…

js触发点击事件

最简单的触发单击事件肯定是elem.click()&#xff0c;平时在不需要考虑兼容性的场合我都是这么干的&#xff0c;但是毕竟这个方法有兼容性&#xff08;具体兼容性如何没做过测试&#xff09;&#xff0c;所以还是要掌握一个通用的方法。 以下代码是网上比较容易找到的一段代码&…

MacOS 升级后出现 xcrun: error: invalid active developer path, missing xcrun

升级macOS mojove&#xff0c;终端里使用git的时候&#xff0c;弹出一行莫名其妙的错误&#xff1a; xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun解决方法&am…

windows系统下oracle数据库rman备份记录(实战篇)

在windows 2003系统中装了oracle10G数据库&#xff0c;同时建了多个实例&#xff0c;这个备份应该怎么做呢&#xff1f; 在网上查了N多的资料&#xff0c;终于了解了一些&#xff1a; 冷备&#xff1a;把数据库已执行关闭后&#xff0c;对数据库做全备&#xff1b;需要停机&…

mac mongodb 安装

1、进入目录 cd /usr/local2、下载对应版本 sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.3.tgz3、解压到当前目录 sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz4、重命名为mongodb&#xff0c;主要是方便管理 sudo mv mongodb-osx-x86_64-4.…

format 参数说明

oracle 数据库中&#xff0c;可以用format参数是指定备份集的文件名格式 使用FORMAT参数时可使用的各种替换变量&#xff0c;如下&#xff1a; %c&#xff1a;备份片的拷贝数(从1开始编号)&#xff1b; %d&#xff1a;数据库名称&#xff1b; %D&#xff1a;位于该月中的天数 (…

【自动化__持续集成】___java___XML__DOM4操作

一、代码如下 package com.wujianbo.five;import java.io.File; import java.io.FileOutputStream; import java.util.List;import javax.annotation.Generated; import javax.swing.text.html.HTMLDocument.Iterator;import org.dom4j.Document; import org.dom4j.DocumentHel…

android 获取系统时间的时间戳 ,时间戳日期互转,计算日期时间差,获取明天日期,比较时间大小

long creatTimemBindCheck.remainPaymentTime; int shi (int)mBindCheck.remainPaymentTime/(3600*1000); int yu1 (int)mBindCheck.remainPaymentTime%(3600*1000); int fen (int)yu1/(60*1000); int yu2 (int)yu1%(60*1000); int mia (int)yu2/1000; 获取系统时间戳 pub…