美文网首页我爱编程
mongoDB用户认证

mongoDB用户认证

作者: cooze | 来源:发表于2017-09-29 17:45 被阅读0次

    MongoDB默认是不创建用户,但是为了保证的MongoDB数据的安全,就需要给MongoDB配置用户和分配操作权限。

    MongoDB创建用户步骤:

    1.创建管理员账户
    2.开启权限验证
    3.给指定数据库创建用户并分配操作权限

    1.创建管理员账户

    mongo安装略,配置如下:

    systemLog:
       destination: file
       path: "/var/log/mongodb/mongod.log"
       logAppend: true
    storage:
       journal:
          enabled: true
       dbPath: /data/mongo
    processManagement:
       fork: true
    net:
       bindIp: 0.0.0.0
       port: 27017
       maxIncomingConnections: 56635
    setParameter:
       enableLocalhostAuthBypass: false
    

    键入如下命令启动mongoDB:

    mongo -f /etc/mongo.conf
    

    在登录到MongoDB数据库之后,键入如下名命令切换到admin数据中:

    use admin
    

    键入如下命令,给admin数据库创建管理员账户:

    db.createUser(
      {
        user: "root",
        pwd: "123456",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    

    键入如下命令,查看创建结果:

    show users
    

    2.开启权限认证

    在mongoDB的配置文件中添加security.autorization=enabled即可开启mongoDB权限认证功能。

    mongo配置如下:

    systemLog:
       destination: file
       path: "/var/log/mongodb/mongod.log"
       logAppend: true
    storage:
       journal:
          enabled: true
       dbPath: /data/mongo
    processManagement:
       fork: true
    net:
       bindIp: 0.0.0.0
       port: 27017
       maxIncomingConnections: 56635
    setParameter:
       enableLocalhostAuthBypass: false
    security:
        authorization: enabled
    

    重新启动mongoDB.

    3.给指定数据库创建用户并分配操作权限

    在登录到MongoDB数据库之后,键入如下名命令切换到admin数据中:

    use admin
    

    在切换到admin数据库之后,键入如下命令切换到root管理员账户:

    db.auth('root','123456')
    

    或者直接使用root用户登录到admin数据库,命令如下:

    mongo admin -u root -p 123456
    

    使用管理员创建普通用户并且给用户授权一个数据库
    切换到带授权数据库,命令如下:

    use auth_test
    

    创建一个用户,并给该用户授与auth_test数据库读写权限,命令如下:

    db.createUser({user: "testUser",pwd: "123456",roles: [ { role: "readWrite", db: "auth_test" } ]})
    
    

    验证授权
    退出登录,使用testUser登录。

    键入如下命令使用testUser用户登录auth_test数据库:

    mongo admin -u testUser -p 123456
    

    用户角色授权命令

    授予角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ])  
    取消角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ])
    

    删除用户

    db.system.users.remove({user:"userName"})
    
    

    修改用户密码

    db.changeUserPassword("userName", "new password")
    

    相关文章

      网友评论

        本文标题:mongoDB用户认证

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