那么我将从两个方面提高mongo数据库的安全防护系数
<强> 1。设置mongodb外网禁止访问强>
,,,,,,,,,启动数据库时,额外添加——bind_ip 127.0.0.1即可
<代码>,。mongod——bind_ip 127.0.0.1 dbpath/数据/db - auth 代码>
,,,,,,也可以通过修改/etc/mongod.conf文件添加一行代码
#只监听本地接口,多个接口用,隔开
<代码> bind_ip=127.0.0.1 代码>
<强> 2。为数据库设置账号密码登录权限强>
,,,,,,,,为了保证数据库需要账号密码才能连接,那么在启动数据库的时候需要添加auth参数
<代码>。mongod——dbpath/数据/db - auth 代码>
,,,,,,,,也可以通过修改/etc/mongod.conf文件添加一行代码
<代码> auth=true 代码>
,,,,,,,这样在进行数据库连接的时候需要相应的账号密码才能成功访问。
,,,,,,,如果之前数据库未设置账号密码的话,那么需要先添加一个管理员账户,
比;使用管理 转向数据库管理 比;db.createUser({用户:“根”,pwd:“123456”,角色:[" userAdminAnyDatabase "]}) 成功添加用户:{“用户”:“根”,“角色”:[" userAdminAnyDatabase "]}
,,,,,,,此时我们就成功的创建了一个管理员账户账户名root 密码123456,此时执行show dbs会出现如下报错
比;show dbs 2017 - 12 - 03 - t22:14:58.418 + 0800 E查询(thread1)错误:listDatabases失败:{ “ok”:0, “errmsg”:“未授权> 比;db.auth(‘公司’,‘123456’)
上边执行登录操作,输出结果1,说明登录成功。此时再执行show dbs则会成功输出结果。此刻我们是以管理员的身份登录数据库,如果切换到测试数据库,执行db.blog.insert ({name: 1})会报错如下,同样意为该数据库未经授权无法操作:
比;使用测试 改数据库测试 比;db.blog.insert ({name: 1}) WriteResult ({ " writeError ": { “代码”:13日 “errmsg”:“未授权> 比;db.createUser ({pwd用户:“use1”:“123456”,角色:[“读写”]}) 成功添加用户:{“用户”:“use1”、“角色”:[“读写”]} 比;db.auth (' use1 ', ' 123456 ') 1 比;db.blog.insert ({name: 1}) WriteResult ({“nInserted”: 1}) 在
至此,完成了通过账号和密码登录权限对数据库的访问和操作。
那么最终标准的连接测试数据库的URI语法如下:
mongodb://use1:123456@localhost: 27017/测试
以上所述是小编给大家介绍的mongodb禁止外网访问及添加账号的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!