- A+
那么我将从两个方面进步mongo数据库的平安防护系数
启动数据库时,额外添加--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制止外网拜访及添加账号的操作办法,愿望对年夜家有所赞助,假如年夜家有任何疑问请给我留言,小编会实时回复年夜家的。在此也异常感激年夜家对剧本之家网站的支撑!