为了账号安全,请及时绑定邮箱和手机立即绑定

mongodb auth认证

标签:
MongoDB

mongo默认是没有密码的,这样很容易被攻击。(当然,安全的方式不只添加密码,还可以设置ip过滤,如果用的云mongo,可以设置只允许内网访问等等)

以auth认证方式启动

  • 可以在config文件中加一项:

auth: true
  • 可以在命令行中,添加一个option,--auth

但是,如果mongodb中没有用户,认证是没有意义的。

创建用户

  • 选择库

// 用户的存储也是基于库的。管理员用户的话,需要在admin中创建。创建的第一个用户即为管理员用户> use admin
  • 创建管理员用户

db.createUser({    user:"root",
    pwd:"root",
    roles:[
        {
            role:"userAdminAnyDatabase",
            db:"admin"
        }
    ]
})
  • 创建普通用户

db.createUser({    user:"user1",    pwd:"pwd1",    roles:[
        {            role:"readWrite",            db:"db1"
        }
    ]
})

登录

方式1

// user所存储的库> use admin
> db.auth(username, password)// 返回原数据库> use blog

方式2

mongo --host ip:port -u 用户 -p 密码 --authenticationDatabase admin

mongodb配置文件相关参数

#数据库数据存放目录dbpath=/usr/local/mongodb304/data#数据库日志存放目录logpath=/usr/local/mongodb304/logs/mongodb.log 
#以追加的方式记录日志logappend = true#端口号 默认为27017port=27017 
#以后台方式运行进程fork=true 
 #开启用户认证auth=true#关闭http接口,默认关闭http端口访问nohttpinterface=true#mongodb所绑定的ip地址bind_ip = 127.0.0.1,192.168.1.140#启用日志文件,默认启用journal=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为falsequiet=true



作者:OrochimaruX
链接:https://www.jianshu.com/p/90ebff9b5d1d

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消