macos下mongoDB 3.4.5 添加用户、设置权限

时间:2023-03-08 17:05:16

macos下mongoDB 3.4.5 添加用户、设置权限

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

需求:

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

解决步骤:

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

具体步骤:

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

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

    use admin
    
    db.createUser({
    user:"admin",
    pwd:"admin",
    roles:[{
    role:"root",
    db:"admin"
    }]
    }) db.auth("admin", "admin")
  2. use admin
    
    db.createUser({
    user:"test_user",
    pwd:"123456",
    roles:[{
    role:"dbAdmin",
    db:"test_db"
    },{
    role:"readWrite",
    db:"test_db"
    }]
    }) db.auth("test_user", "123456")
  3. 开启权限验证、启动MongoDB(先关闭第1步启动的服务端)

    mongod --auth --dbpath /usr/local/mongodb/data/ --logpath /usr/local/mongodb/logs/mongod.log -logappend --fork

  4.测试

  • mongo 127.0.0.1:27017/admin -u test_user -p
    123456