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

  • A+
所属分类: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数据库未经授权无法执行指令,是以必要以治理员身份登录验证,如下操作

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

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

至此,完成了经由过程账号和暗码登录权限对数据库的拜访和操作。

那么终极尺度的衔接test数据库的URI语法如下:

总结

以上所述是小编给年夜家先容的mongodb制止外网拜访及添加账号的操作办法,愿望对年夜家有所赞助,假如年夜家有任何疑问请给我留言,小编会实时回复年夜家的。在此也异常感激年夜家对剧本之家网站的支撑!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: