服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - MongoDB - mongodb禁止外网访问及添加账号的操作方法

mongodb禁止外网访问及添加账号的操作方法

2020-05-16 20:06杜培东 MongoDB

这篇文章主要介绍了mongodb禁止外网访问及添加账号的操作方法,需要的朋友可以参考下

那么我将从两个方面提高mongo数据库的安全防护系数

1.设置mongodb外网禁止访问

          启动数据库时,额外添加--bind_ip 127.0.0.1即可

 ./mongod --bind_ip 127.0.0.1 --dbpath /data/db --auth

       也可以通过修改/etc/mongod.conf文件添加一行代码

#只监听本地接口,多个接口用,隔开

bind_ip = 127.0.0.1

2.为数据库设置账号密码登录权限

         为了保证数据库需要账号密码才能连接,那么在启动数据库的时候需要添加auth参数

./mongod --dbpath /data/db --auth

         也可以通过修改/etc/mongod.conf文件添加一行代码

  auth = true

        这样在进行数据库连接的时候需要相应的账号密码才能成功访问。

        如果之前数据库未设置账号密码的话,那么需要先添加一个管理员账户,

?
1
2
3
4
> use admin
switched to db admin
> db.createUser({user:"root",pwd:"123456",roles:["userAdminAnyDatabase"]})
Successfully added user: { "user" : "root", "roles" : [ "userAdminAnyDatabase" ] }

        此时我们就成功的创建了一个管理员账户 账户名 root  密码 123456 ,此时执行show dbs会出现如下报错

?
1
2
3
4
5
6
7
> show dbs
2017-12-03T22:14:58.418+0800 E QUERY  [thread1] Error: listDatabases failed:{
  "ok" : 0,
  "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
  "code" : 13,
  "codeName" : "Unauthorized"
} .....

上边提示意为当前admin数据库未经授权无法执行指令,因此需要以管理员身份登录验证,如下操作

?
1
> db.auth('dpd','123456')

上边执行登录操作,输出结果 1,说明登录成功。此时再执行 show dbs 则会成功输出结果。此刻我们是以管理员的身份登录数据库,如果切换到test数据库,执行db.blog.insert({name:1})会报错如下,同样意为该数据库未经授权无法操作:

?
1
2
3
4
5
6
7
8
9
> use test
switched to db test
> db.blog.insert({name:1})
WriteResult({
  "writeError" : {
    "code" : 13,
    "errmsg" : "not authorized on test to execute command { insert: \"blog\", documents: [ { _id: ObjectId('5a240d8e2d43081ea4271cc8'), name: 1.0 } ], ordered: true }"
  }
})

所以要为test数据库添加一个用户,并以该用户身份登录才可以执行对该数据的操作。

?
1
2
3
4
5
6
7
> db.createUser({user:'use1',pwd:'123456',roles:["readWrite"]})
Successfully added user: { "user" : "use1", "roles" : [ "readWrite" ] }
> db.auth('use1','123456')
1
> db.blog.insert({name:1})
WriteResult({ "nInserted" : 1 })
>

至此,完成了通过账号和密码登录权限对数据库的访问和操作。

那么最终标准的连接test数据库的URI语法如下:

?
1
mongodb://use1:123456@localhost:27017/test

总结

以上所述是小编给大家介绍的mongodb禁止外网访问及添加账号的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.cnblogs.com/dupd/archive/2017/12/04/7975474.html

延伸 · 阅读

精彩推荐
  • MongoDBMongoDB查询操作限制返回字段的方法

    MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下 ...

    MongoDB教程网6142020-04-24
  • MongoDBMongoDB中如何使用JOIN操作详解

    MongoDB中如何使用JOIN操作详解

    相信大家都知道mongodb是不支持join操作的,因此我们只能自己来实现这个功能。所以下面这篇文章主要给大家介绍了关于在MongoDB中如何使用JOIN操作的相关资...

    都市烟火7192020-05-13
  • MongoDB详解mongodb搭建Replica Set的方法

    详解mongodb搭建Replica Set的方法

    这篇文章主要介绍了mongodb搭建Replica Set的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...

    任何时候努力都不会迟8612021-01-03
  • MongoDBMongoDB的Master-Slave主从模式配置及主从复制要点解析

    MongoDB的Master-Slave主从模式配置及主从复制要点解析

    主从复制是数据库运维中一种常见的备份方式,这里我们来看一下MongoDB的Master-Slave主从模式配置及主从复制要点解析,需要的朋友可以参考下 ...

    Hunk Shi3872020-05-06
  • MongoDB使用zabbix监控mongodb的方法

    使用zabbix监控mongodb的方法

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。通过本文给大家介绍使用zabbix监控mongodb的...

    下善若火7512020-05-05
  • MongoDBMongodb数据库的备份与恢复操作实例

    Mongodb数据库的备份与恢复操作实例

    这篇文章主要介绍了Mongodb数据库的备份与恢复操作实例,本文讲解使用命令在控制台执行实现Mongodb的备份与恢复操作,需要的朋友可以参考下 ...

    MongoDB教程网4322020-04-29
  • MongoDBmongo数据集合属性中存在点号(.)的解决方法

    mongo数据集合属性中存在点号(.)的解决方法

    这篇文章主要给大家介绍了关于mongo数据集合属性中存在点号(.)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学...

    鸡犬相闻4272020-05-19
  • MongoDBmongoDB在windows下安装与配置方案

    mongoDB在windows下安装与配置方案

    本文详细介绍了在windows系统下安装与配置mongoDB的详细过程,非常的全面,有需要的小伙伴自己参考下吧 ...

    MongoDB教程网3462020-04-29