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,一经查实,立即删除!

相关文章

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

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

android 省市区选择器

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

mac 下载的破解软件显示 文件已损坏

其实,这是mac系统加强了安全机制,默认不允许用户自行下载安装应用程序,只能从Mac App Store里安装应用。 1、执行下面命令 sudo spctl --master-disable2、打开系统偏好设置 安全性与隐私,若显示任何来源,大功告成

vscode 遇到的迷之bug nvm is not compatible with the npm config prefix

mac升级系统后,发现每次打开vscode,在命令栏TERMINAL中都会出现不识别npm,把vscode重新安装后,还是不行。 最后,在万能的git上找到了解决方法,之前出错的原因使因为我曾经使用brew install node安装过nod…

bsgs(Baby Steps Giant Steps)算法

BSGS算法(Baby Steps Giant Steps算法,大步小步算法,北上广深算法,拔山盖世算法) 适用问题 对于式子: $$x^yz(mod_p)$$ 已知x,z,p,p为质数; 求解一个最小非负…

Head First设计模式之备忘录模式

一、定义 不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态 二、结构 备忘录模式中主要有三类角色: 发起人角色:记录当前时刻的内部状态,负责创建和…

mpvue 从零开始 女友初成长 0

我的女友叫mpvue,为什么不选择原生的,或者wepy呢,因为我只喜欢mpvue。 0、首先你得保证先安装了vue-cli npm install --g vue-cli1、脚手架构建项目,我直接在当前项目中创建,一路Y就可以创建项目了。 vue init mpvu…

Android 隐藏状态栏,沉浸式状态栏,状态栏背景色,状态栏字体色,透明状态工具类

设置状态栏颜色 if (Build.VERSION.SDK_INT>21){getWindow().setStatusBarColor(getResources().getColor(R.color.mainc)); } 方法2 <color name"colorPrimary">#3F51B5</color> //取消标题 requestWindowFeature(Window.FEATURE_NO_TITLE); /…

SVN错误信息汇总

Subversion 错误信息一览表 注意&#xff1a; 不同的客户端&#xff08;命令行&#xff0c;TortoiseSVN, AnkhSVN, Subclipse等&#xff09;的出错信息可能稍有不同。 下面表格中的出错信息以 http://svn.moon.ossxp.com/svn/test 版本库做示例&#xff0c;仅供参考。 编…

mpvue 从零开始 女友的衣装 1 pages

pages文件夹就像一个大橱柜&#xff0c;里面放着各种精美的衣装&#xff0c;你也可以理解为供小程序的页面。 1、制造衣服 我在pages页面下新建了3个页面 market 广告市场task 任务中心my 个人中心 以market为例&#xff0c;写最简单的代码 <template><div class…

Oracle RDA(Remote Diagnostic Agent) 工具说明

Oracle RDA(Remote Diagnostic Agent) 工具说明 分类&#xff1a; Oracle 性能调优 Oracle 高级知识 一.RDA 说明 RDA(RemoteDiagnostic Agent)是oracle用来收集、分析数据库的工具&#xff0c;运行该工具不会改变系统的任何参数&#xff0c;RDA收集的相关数据非常全面&…