MongoDB - 用户与权限

2020-05-28 00:00:00 用户 数据库 权限 数据库中 只在


点击上方☝SpringForAll社区 轻松关注!
及时获取有趣有料的技术文章


img

切换数据库

1use admin

创建用户

所有权限

1db.createUser(
2  {
3    user:"anoyi",
4    pwd:"password",
5    roles:["root"]
6  }
7)

指定数据库所有权限

1db.createUser(  
2  { 
3    user"admin",  
4    pwd: "admin",  
5    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  
6  }  
7)

指定数据库指定权限

 1db.createUser(
2  {
3    user:"user",
4    pwd:"password",
5    roles:[
6        {role:"readWrite",db:"db01"},
7        {role:"readWrite",db:"db02"},
8        'read'
9    ]
10  }
11)

db01 和 db02 库读写权限,其他库读权限

角色分类:

  • 数据库用户角色:readreadWrite

  • 数据库管理角色:dbAdmindbOwneruserAdmin

  • 集群管理角色:clusterAdminclusterManagerclusterMonitorhostManage

  • 备份恢复角色:backuprestore

  • 所有数据库角色:readAnyDatabasereadWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabase

  • 超级用户角色:root

  • 内部角色:__system

权限说明:

  • read:允许用户读取指定数据库

  • readWrite:允许用户读写指定数据库

  • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问 system.profile

  • userAdmin:允许用户向 system.users 集合写入,可以在指定数据库里创建、删除和管理用户

  • clusterAdmin:只在 admin 数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

  • readAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的读权限

  • readWriteAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的读写权限

  • userAdminAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的 userAdmin 权限

  • dbAdminAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的dbAdmin 权限

  • root:只在 admin 数据库中可用,超级账号、超级权限

查看用户

1show users

修改密码

1db.changeUserPassword("anoyi""newPassword")

删除用户

1db.dropUser('anoyi')

登录数据库

1use <database>
2
3db.auth('<username>''<password>')


相关文章