前言
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