MongoDB之脚色与权限及创建用户与授权操作详解

打印 上一主题 下一主题

主题 829|帖子 829|积分 2487

MongoDB之脚色与权限及创建用户与授权操作详解


  
1. 脚色与权限

1. 脚色分类

脚色分类脚色分类中的详细脚色数据库用户脚色read、readWrite数据库管理脚色dbAdmin、dbOwner、userAdmin集群管理脚色clusterAdmin、clusterManager、clusterMonitor、hostManage数据库备份、恢复脚色backup、restore全部数据库脚色readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase超级用户脚色root内部脚色__system 2. 权限说明

权限说明read允许用户读取指定数据库readWrite允许用户读写指定数据库dbAdmin允许用户在指定数据库中执行管理函数,如索引创建、删除、检察统计或访问system.profileuserAdmin允许用户向system.users聚集写入,可以在指定数据库中创建、删除和管理用户clusterAdmin必须在admin数据库中定义,赋予用户全部分片和复制集相干函数的管理权限readAnyDatabase必须在admin数据库中定义,赋予用户全部数据库的读权限readWriteAnyDatabase必须在admin数据库中定义,赋予用户全部数据库的读写权限userAdminAnyDatabase必须在admin数据库中定义,赋予用户全部数据库的userAdmin权限dbAdminAnyDatabase必须在admin数据库中定义,赋予用户全部数据库的dbAdmin权限root必须在admin数据库中定义,超级账号,超级权限 2. MongDB创建用户及删除用户

1. 创建用户

  1. use admin
  2. db.createUser({
  3.         "user":"用户名",
  4.         "pwd":"密码",
  5.         "roles":[
  6.             # 角色可配多个
  7.                 {role:"角色",db:"所属数据库"}
  8.         ],
  9.         # 用户信息,可选
  10.         coustomData:{
  11.                 name:"jinshengyuan",
  12.                 email:"xxx@xx.com"
  13.         }
  14. })
  15. # 创建一个不受访问限制的用户,
  16. db.createUser({
  17.         user:"wei",
  18.     pwd:"wei",
  19.     roles:["root"]
  20. })
复制代码
2. 检察用户信息

  1. use admin
  2. show users
  3. db.system.users.find()
  4. db.system.users.pretty()
  5. db.runCommand({userInfo:"用户名"})
复制代码
3. 修改用户暗码

  1. use amdin
  2. db.changeUserPassword("用户名","新密码")
  3. # 修改用户密码及用户信息
  4. db.runCommand({updateUser:"用户名",pwd:"新密码",customData:{age:22}})
复制代码
3. db.runCommand创建用户与授权

   可通过db.runCommand下令行来创建/修改用户与授予相干权限的操作
  1. 创建用户

  1. use admin
  2. db.runCommand({
  3.     "createUser" : "yuan",
  4.     "pwd" : "yuan",
  5.     "customData" : {
  6.     },
  7.     "roles" : [
  8.         {
  9.             "role" : "__queryableBackup",
  10.             "db" : "admin"
  11.         },
  12.         {
  13.             "role" : "__system",
  14.             "db" : "admin"
  15.         },
  16.         {
  17.             "role" : "backup",
  18.             "db" : "admin"
  19.         },
  20.         {
  21.             "role" : "clusterAdmin",
  22.             "db" : "admin"
  23.         },
  24.         {
  25.             "role" : "clusterManager",
  26.             "db" : "admin"
  27.         },
  28.         {
  29.             "role" : "clusterMonitor",
  30.             "db" : "admin"
  31.         },
  32.         {
  33.             "role" : "dbAdmin",
  34.             "db" : "admin"
  35.         },
  36.         {
  37.             "role" : "dbAdminAnyDatabase",
  38.             "db" : "admin"
  39.         },
  40.         {
  41.             "role" : "dbOwner",
  42.             "db" : "admin"
  43.         },
  44.         {
  45.             "role" : "enableSharding",
  46.             "db" : "admin"
  47.         },
  48.         {
  49.             "role" : "hostManager",
  50.             "db" : "admin"
  51.         },
  52.         {
  53.             "role" : "read",
  54.             "db" : "admin"
  55.         },
  56.         {
  57.             "role" : "readAnyDatabase",
  58.             "db" : "admin"
  59.         },
  60.         {
  61.             "role" : "readWrite",
  62.             "db" : "admin"
  63.         },
  64.         {
  65.             "role" : "readWriteAnyDatabase",
  66.             "db" : "admin"
  67.         },
  68.         {
  69.             "role" : "restore",
  70.             "db" : "admin"
  71.         },
  72.         {
  73.             "role" : "root",
  74.             "db" : "admin"
  75.         },
  76.         {
  77.             "role" : "userAdmin",
  78.             "db" : "admin"
  79.         },
  80.         {
  81.             "role" : "userAdminAnyDatabase",
  82.             "db" : "admin"
  83.         }
  84.     ]
  85. });
复制代码
2. 更改用户权限

  1. use admin
  2. db.runCommand({
  3.     "updateUser" : "yuan",
  4.     "customData" : {
  5.     },
  6.     "roles" : [
  7.         {
  8.             "role" : "readWrite",
  9.             "db" : "yuan"
  10.         },
  11.         {
  12.             "role" : "__queryableBackup",
  13.             "db" : "admin"
  14.         },
  15.         {
  16.             "role" : "__system",
  17.             "db" : "admin"
  18.         },
  19.         {
  20.             "role" : "backup",
  21.             "db" : "admin"
  22.         },
  23.         {
  24.             "role" : "clusterAdmin",
  25.             "db" : "admin"
  26.         },
  27.         {
  28.             "role" : "clusterManager",
  29.             "db" : "admin"
  30.         },
  31.         {
  32.             "role" : "clusterMonitor",
  33.             "db" : "admin"
  34.         },
  35.         {
  36.             "role" : "dbAdmin",
  37.             "db" : "admin"
  38.         },
  39.         {
  40.             "role" : "dbAdminAnyDatabase",
  41.             "db" : "admin"
  42.         },
  43.         {
  44.             "role" : "dbOwner",
  45.             "db" : "admin"
  46.         },
  47.         {
  48.             "role" : "enableSharding",
  49.             "db" : "admin"
  50.         },
  51.         {
  52.             "role" : "hostManager",
  53.             "db" : "admin"
  54.         },
  55.         {
  56.             "role" : "read",
  57.             "db" : "admin"
  58.         },
  59.         {
  60.             "role" : "readAnyDatabase",
  61.             "db" : "admin"
  62.         },
  63.         {
  64.             "role" : "readWrite",
  65.             "db" : "admin"
  66.         },
  67.         {
  68.             "role" : "readWriteAnyDatabase",
  69.             "db" : "admin"
  70.         },
  71.         {
  72.             "role" : "restore",
  73.             "db" : "admin"
  74.         },
  75.         {
  76.             "role" : "root",
  77.             "db" : "admin"
  78.         },
  79.         {
  80.             "role" : "userAdmin",
  81.             "db" : "admin"
  82.         },
  83.         {
  84.             "role" : "userAdminAnyDatabase",
  85.             "db" : "admin"
  86.         }
  87.     ]
  88. });
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表