mongodb auth认证

作者: OrochimaruX | 来源:发表于2017-06-12 23:09 被阅读144次

    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
    #端口号 默认为27017
    port=27017 
    #以后台方式运行进程
    fork=true 
     #开启用户认证
    auth=true
    #关闭http接口,默认关闭http端口访问
    nohttpinterface=true
    #mongodb所绑定的ip地址
    bind_ip = 127.0.0.1,192.168.1.140
    #启用日志文件,默认启用
    journal=true 
    #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
    quiet=true
    

    个人博客:http://notes.xbug.site

    相关文章

      网友评论

      本文标题:mongodb auth认证

      本文链接:https://www.haomeiwen.com/subject/ljprqxtx.html