mongodb如何使用授权登录

前言

mongodb默认是不需要授权登录的,这样在实际生产环境中是非常危险的一件事情,接下来就来讲一下如何开启安全授权访问

1. 第一次登录不启动授权(默认就是不启动),我们先来创建admin和root账号,他们是用来开启授权后操作用户,创建数据库等操作的

use admin

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

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

2. 第二次登录开启授权

./mongod --auth --dbpath=/home/db/data --logpath=/home/db/logs/mongodb.log

3. 用admin账号登录

db.auth("admin","123456");

4. 创建我们需要的数据库并添加权限

use mydb

db.createUser({user: "mydb",pwd: "123456",roles: [ { role: "dbOwner", db: "mydb" } ]})

附:权限说明

  • 数据库用户角色:read、readWrite
  • 数据库管理角色:dbAdmin、dbOwner、userAdmin
  • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
  • 备份恢复角色:backup、restore
  • 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 超级用户角色:root

猜你喜欢

转载自blog.csdn.net/m0_37572422/article/details/115526181