MongoDB 3.4.2 添加用户设置权限

Posted zZach

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 3.4.2 添加用户设置权限相关的知识,希望对你有一定的参考价值。

在项目中需要根据项目运行环境访问,以不同的身份访问各自的db,所以研究了一下MongoDB的

需求:

给MongoDB添加两个用户分别用于开发环境和测试环境,两个用户分别访问不同的db并拥有db的最高权限。

解决步骤:

  1. 关闭权限验证、启动MongoDB
  2. 创建MongoDB超级管理员,给予最高权限
  3. 分别创建两个用户,给予各自db的最高权限
  4. 开启权限验证、启动MongoDB
  5. 测试

具体步骤:

  1. 关闭权限验证、启动MongoDB
    MongoDB默认是不开启权限验证的,所以直接使用命令启动(需要在bin目录下):

    ./mongod
  2. 添加并认证管理员
    先在另一个命令窗口进入客户端(Linux可以让服务端在后台运行):`./mongo’
    然后在admin添加管理员(role:root表示最高权限):

    use admin
    
    db.createUser(
        user:"admin",
        pwd:"admin",
        roles:[
            role:"root",
            db:"admin"
        ]
    )
    
    db.auth("admin", "admin")
  3. 添加用户并认证用户(要注意的是“dbAdmin”其实是没有读写权限的)

    use jxnu_db_dev
    
    db.createUser(
        user:"jxnu_dev",
        pwd:"123456",
        roles:[
            role:"dbAdmin",
            db:"jxnu_db_dev"
        ,
            role:"readWrite",
            db:"jxnu_db_dev"
        ]
    )
    
    db.auth("jxnu_dev", "123456")
    use jxnu_db_sit
    
    db.createUser(
        user:"jxnu_sit",
        pwd:"123456",
        roles:[
            role:"dbAdmin",
            db:"jxnu_db_sit"
        ,
            role:"readWrite",
            db:"jxnu_db_sit"
        ]
    )
    
    db.auth("jxnu_sit", "123456")
  4. 开启权限验证、启动MongoDB(先关闭第1步启动的服务端)

    ./mongod --auth
  5. 测试

    ./mongo 127.0.0.1:27017/jxnu_db_dev -u zkingcai_dev -p 
    123456

以上是关于MongoDB 3.4.2 添加用户设置权限的主要内容,如果未能解决你的问题,请参考以下文章

mongodb用户密码操作

mongodb 设置权限后 怎么导入数据

MongoDB下配置用户权限

MongoDB的权限管理

在Linux中怎样把普通用户的权限设置为超级用户权限?

MongoDB用户及权限管理:角色说明