zoukankan      html  css  js  c++  java
  • 给mongodb设置密码

    数据来源:https://segmentfault.com/a/1190000011554055

     

    mongodb安装后是无需密码

    Mongodb安装后自身是没有密码的,用户连接只需填写id地址,端口号,数据库名称即可

    安全问题

    只要你服务器的mongodb数据库端口开放,任何人的电脑都可以连接到你的数据库,操作修改你的mongodb数据,本人以前就遭受过入侵,深有感触。如图:黑客盗取你的数据库,然后留下一个邮箱和账号,要求你给比特币才肯归还数据库给你。。。

    给mongodb加密

    如果需要给MongoDB数据库使用安全验证,则需要用--auth开启安全性检查,只有数据库认证的用户才能执行读写操作,开户安全性检查。
    第一步:开机先:mongod --dbpath 存放数据库文件夹路径

    第二步:打开命令行窗口输入mongo,进入mongo环境 

    第三步:切换到 'admin' 数据库 use admin

    第四步:给admin设置用户密码:
    user: 用户名, pwd: 用户密码,roles: 用来设置用户的权限,比如读,读写 等等
    db.createUser({user: 'root', pwd: '123456', roles: ['root']})


    验证是否添加成功,'db.auth(用户名,用户密码)' 这里用db.auth('root', '123456') 如果返回 '1'表示验证成功, 如果是 '0' 表示验证失败...

    第5步:刚才是给root设置密码,现在要给特定的每个库设置权限,比如我这里有一个库,库名字叫做Article,这里以Article这个库为例

    切换到Article数据库,use Article

    接下来为这个库添加一个用户,并且赋予权限,db.createUser({user:'zwVic',pwd:'adgjmp123',roles: [{role:'readWrite',db:'Article'}]})})
    这行代码意思是 创建一个zwStar用户 给予读写权限 db表示该用户操作的数据库名


     

    OK,一切搞定,重新开机mongodb,MongoDB默认是没有开启访问控制,我们通过--auth参数重启mongod服务。mongod --dbpath 存放数据库文件夹路径 --auth一旦开启了,用户连接mongod必须指定用户名和密码。

    连接加密数据库

    xxx.db('mongodb://your name: your pwd@ ip :27017/Article');
    your name:为用户名
    your pwd:为密码

    总结

    通过加密后。连接数据库就需要账号,密码,同时阿里云或者腾讯云上也可以给服务器设置安全组增加安全性,比如27107这个端口只授权给自己访问等等....
    文中有什么不对的,希望大家指正哈!
    如果觉得本文对你有所帮助,就star一下吧~

    时光如白驹过隙,匆匆而已。
  • 相关阅读:
    bite one's tongue
    你以为你以为的教育是教育吗?[转]
    使用ngnix通过uwsgi app容器部署django项目
    使用ngnix通过uwsgi app容器部署django项目
    vue作为前端的静态代码与后端融合
    linux下的下载器软件
    git的gui client终端
    java 查找bug的工具 SpotBugs 和 Findbugs
    awesome c, awesome c++
    加密货币即时交换平台 Changelly vs ShapeShift vs CoinSwitch vs ChangeNOW
  • 原文地址:https://www.cnblogs.com/yupixiu/p/10320472.html
Copyright © 2011-2022 走看看