• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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

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

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

    > 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会出现如下报错

    > 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数据库未经授权无法执行指令,因此需要以管理员身份登录验证,如下操作

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

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

    > 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数据库添加一个用户,并以该用户身份登录才可以执行对该数据的操作。

    > 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语法如下:

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

    总结

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

    您可能感兴趣的文章:
    • MongoDB中唯一索引(Unique)的那些事
    • MongoDB自动删除过期数据的方法(TTL索引)
    • 深入理解MongoDB的复合索引
    • 关于MongoDB索引管理-索引的创建、查看、删除操作详解
    • ubuntu安装mongodb创建账号和库及添加坐标索引的流程分析
    上一篇:MongoDB用Mongoose得到的对象不能增加属性完美解决方法(两种)
    下一篇:Spring Boot中使用MongoDB数据库的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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