MongoDB 3.6版本中bind_ip设置详解

2017年下半年新发布的MongoDB 3.6版本在安全性上做了很大提升,主要归结为两点:

1.将bind_ip 默认值修改为了localhost;

2. 在db.createUser()db.updateUser()中添加了authenticationRestrictions 参数,可以用来控制Client端发来的请求源IP以及请求的Server端指定IP。

以下说明和测试主要是针对第一点。

以前的版本默认Mongo服务启动后,使用Server IP 可以直接登入,但是3.6 已将服务启动bind_ip的默认值限定为localhost。

因此,即使在Local Server使用ServerIP登入也会报错。

<图1>

只能使用localhost登入

<图2>

修改方式,修改conf 配置文件,调整bind_ip参数,将本地IP赋予此参数。赋予后使用Server IP登入可以,但此时使用localhost 失败。为了同时兼容2种登入方式,将参数的赋值调整为:

bind_ip=localhost,172.XXX.XXX.XXX

中间使用登号隔开。

<图3>验证说明采用上述参数配置后2种登入方式都可以。

<图3>

说明:(1) 如果不想做IP限制,可以将bind_ip 赋值为0.0.0.0 或者 在配置文件中启用另外一个参数bind_ip_all,将其设置为true。

以上两种设置都可以满足localhost登入和指定ServerIP登入。 当指定bind_ip_all参数时,配置文件中可以没有bind_ip参数。

(2)登入默认的数据库不同。在3.6 版本,默认的连接数据库变成了test,而3.4/3.2 版本默认是admin库。所以,在设置具有root权限的管理员账号时,请先转至admin下操作(因为账号的查询,系统只有在admin才可以查询,所以root权限的账号,建议在admin库创建,用户数据库的账号,转到用户数据库下创建)。账号的删除一定要在归属库下删除。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Win10 安装 MongoDB 3.6.5 失败的问题及解决方法

    MongoDB 3.6.5 2008R2Plus SSL (64 bit) Setup Wizard ended prematurely 在安装 MongoDB 的时候,出现了MongoDB 3.6.5 2008R2Plus SSL (64 bit) Setup Wizard ended prematurely的错误,原因不明,但有解决办法: 解决办法 在安装的时候不勾选 Install MongoDB Compass选项即可 总结 以上所述是小编给大家介绍的Win10 安装 MongoDB 3

  • MongoDB 3.6版本中bind_ip设置详解

    2017年下半年新发布的MongoDB 3.6版本在安全性上做了很大提升,主要归结为两点: 1.将bind_ip 默认值修改为了localhost: 2. 在db.createUser()和 db.updateUser()中添加了authenticationRestrictions 参数,可以用来控制Client端发来的请求源IP以及请求的Server端指定IP. 以下说明和测试主要是针对第一点. 以前的版本默认Mongo服务启动后,使用Server IP 可以直接登入,但是3.6 已将服务启动

  • 使用Docker run的选项以覆盖Dockerfile中的设置详解

    通常,我们首先定义Dockerfile文件,然后通过docker build命令构建得到镜像文件.然后,才能够基于镜像文件通过docker run启动一个容器的实例. 那么在启动一个容器的时候,就可以改变镜像文件中的一些参数,而镜像文件中的这些参数往往是通过Dockerfile文件定义的. 但并非Dockerfile文件中的所有定义都可以在启动容器的时候被重新定义.docker run不能覆盖的Dockerfile文件指令如下: FROM MAINTAINER RUN ADD COPY 1.覆盖

  • mongodb 命令行下及php中insert数据详解

    前面说了到数据库连接操作,请参考:mongodb 添加用户及权限设置详解 对数据库的操作:请参考:mongodb 数据库操作详解--创建,切换,删除 下面说一下,数据库表的插入操作 1,命令行下的insert操作 > use test; #切换到test数据库 switched to db test > document=({"title" : "linux命令", "auther" : "tank" }); #定

  • CenterOS 中安装Redis及开机启动设置详解

    CenterOS 中安装Redis及开机启动设置详解 从官方下载最新Redis进行安装,官网地址:http://redis.io/download $ wget http://download.redis.io/releases/redis-3.2.3.tar.gz $ tar xzf redis-3.2.3.tar.gz $ cd redis-3.2.3 $ make $ make install Redis启动 RedisServer /path/to/redis.conf Redis关闭(

  • java 中mongodb的各种操作查询的实例详解

    java 中mongodb的各种操作查询的实例详解 一. 常用查询: 1. 查询一条数据:(多用于保存时判断db中是否已有当前数据,这里 is  精确匹配,模糊匹配 使用regex...) public PageUrl getByUrl(String url) { return findOne(new Query(Criteria.where("url").is(url)),PageUrl.class); } 2. 查询多条数据:linkUrl.id 属于分级查询 public Lis

  • java 中file.encoding的设置详解

    java 中file.encoding的设置详解 昨天有人在讨论关于设置System的property,file.encoding 修改defaultcharset无效 Properties pps=System.getProperties(); pps.setProperty("file.encoding","ISO-8859-1"); 在java中,如果没有指定charset的时候,比如new String(byte[] bytes),都会调用Charset.d

  • JVM中的flag设置详解

    本文研究的主要是JVM中的flag设置详解的相关内容,具体介绍如下. 一.堆大小设置 -Xmx3550m:设置JVM最大可用内存为3550M. -Xms3550m:设置JVM初始可用内存为3550M. -Xmn2g:设置年轻代大小为2G. -Xss128k:设置每个线程的堆栈大小为128K -XX:NewSize=4:设置年轻代大小为4 -XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与老年代(除去持久代)的比值为4,则年轻代与年老代所占比值为1:4,年轻代占整个

  • SpringBoot中对应2.0.x版本的Redis配置详解

    properties格式: # REDIS (RedisProperties) # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=localhost # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password= # 连接池最大连接数(使用负值表示没有限制) spring.redis.jedis.po

  • Flask框架中的session设置详解

    目录 Flask中的session session设置 关于session的设置 cookies中的session session序列化机制 session反序列化机制 session的使用和验证 Flask中的session session设置 Flask除请求对象之外,还有一个 session 对象. 它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设置一个密钥. 我们知道,在django中的session

  • MongoDB开启权限认证的方法步骤详解

    前言 最近在生产环境中MongoDB已经使用有一段时间了,但对于MongoDB的数据存储一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),最近在酷壳网看了一篇技术文章(https://coolshell.cn/?s=从+MONGODB+"赎金事件"+看安全问题&from=timeline&isappinstalled=0)介绍的mongodb未开启权限认证导致数据被黑客窃取,要比特币赎回的事件,考虑到数据安全的原因特地花了一点时间研究了一下,我现在用的版

随机推荐