## **MongoDb角色权限说明**
#### 1:数据库用户角色:read、readWrite<hr>
#### 2:数据库管理角色:dbAdmin、dbOwner、userAdmin;<hr>
#### 3:集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;<hr>
#### 4:备份恢复角色:backup、restore;<hr>
#### 5:所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase<hr>
#### 6:超级用户角色:root<hr>
备注:这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
其中MongoDB默认是没有开启用户认证的,也就是说游客也拥有超级管理员的权限。userAdminAnyDatabase:有分配角色和用户的权限,但没有查写的权限,不能用作备份。
===========================================================================================
1、无需认证的情况下启动mongodb【db.createUser执行时,如果开启了权限验证,是需要先验证权限的,没有开启权限,则可以直接操作】
> mongo
> use admin
> db.createUser({user:"bjl7",pwd:"123456",roles:[{role:"readWrite",db:"bjl7"}]});
> db.auth("bjl7","123456") 返回1表示成功
2、开启权限认证后重启mongodb
> mongo -u root -p 123456 admin
> show dbs
![](https://img.kancloud.cn/a6/f1/a6f1e80986acfed081667ce43646c4e1_905x354.png)