zoukankan      html  css  js  c++  java
  • windows下mongodb权限设置解决方法

    mongodb简介:

    MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便。 MongoDB工作在收集和文件的概念。

    MongoDB默认设置为无权限访问限制,所以可以直接进入数据库并对数据进行操作,

    事件背景:最近,公司放在移动机房的两台装有mongoDB数据库的服务器被绿盟扫描出来有漏洞,要求我们解决

    根据绿盟提供的解决方法是在admin库中添加任意用户,并启用认证。 但绿盟给出的方法是基于linux下的方法,但其实原理大同小异。

    我更加网上搜来的文章,进行整合适用我们项目的实际情况,在此作记录,以便备忘。

    step1:切换至mongoDB安装路径的bin目录下后,执行 mongo登录。

    setp2:使用show dbs 可以直接查看系统中已存在的数据库。

    step3:进入admin库中

    step4:创建用户命令如下:

    db.createUser( 
      
        user"admin"
        pwd: "admin123"
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] 
      )

     step5:进入系统注册表(WIN+R-->regedit),找到[HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->Services-->MongoDB]在右边的健-值列表中打到 “ImagePath”  在该值中 添加 --auth  

    step6:重启MongoDB服务:

    step7:重新进入进入查看已存在数据库发现没有权限

     

    step8:进行认证,直接认证提示失败(由于mongodb的用户是基于库的,所以必须先指定数据库才可以进行认证)

    stpe9:进入admin库,并进行认证,返回1表示认证成功,并可以查看数据库;

    但是这里也同样导致了一个问题,“mongodb对集成的系统不可用了”

    因为集成的系统是直接对mongdb进行使用的,没有进行认证,启用认证后,集成系统不能再使用mongodb。

  • 相关阅读:
    RabbitMQ ——整体架构
    redis 命令大全
    Java JNA (三)—— 结构体使用及简单示例
    Java JNA (二)—— dll回调函数实现
    Java JNA (一)—— 调用dll
    elasticsearch 基础 —— Mapping参数boost、coerce、copy_to、doc_values、dynamic、
    编程之美 set 13 光影切割问题
    编程之美 set 12 快速找出故障机器
    编程之美 set 11 买书问题
    编程之美 set 10 队列中取最大值操作问题
  • 原文地址:https://www.cnblogs.com/daisin/p/5980304.html
Copyright © 2011-2022 走看看