在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

mongodb基础之用户权限管理的示例分析

142次阅读
没有评论

共计 3432 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章主要介绍了 mongodb 基础之用户权限管理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

启动 mongodb 并连接

./bin/mongod -f conf/mongod.conf
./bin/mongo 127.0.0.1:12345

查看默认的数据库情况

 show dbs
admin 0.000GB
local 0.000GB
  use admin
switched to db admin
  show tables
system.version

可以看到,目前数据库里除了一些基本信息,什么都没有

在创建设置用户权限之前,先了解一下文档知识

创建用户

# demo
db.createUser(
 {
 user:  reportsUser ,
 pwd:  12345678 ,
 roles: [ { role:  read , db:  reporting  },
 { role:  read , db:  products  },
 { role:  read , db:  sales  },
 { role:  readWrite , db:  accounts  }
 ]
 }
)

数据库内建角色

数据库用户角色

read (读取指定数据库)

readWrite (读写指定数据库)

数据库管理角色

dbAdmin (数据库管理员)

dbOwner (数据库所有者,合并了 readWrite, dbAdmin and userAdmin roles.)

userAdmin (用户管理员,可以找指定数据库里创建、删除和管理用户)

集群管理角色

clusterAdmin (集群管理员)

clusterManager (集群管理者)

clusterMonitor (集合监视者)

hostManager (主机管理者)

备份恢复角色

backup (备份)

restore (还原)

所有数据库角色

readAnyDatabase (读任何数据库)

readWriteAnyDatabase (读写任何数据库)

userAdminAnyDatabase (用户管理任何数据库)

dbAdminAnyDatabase (任意数据库管理员)

超级用户角色

root

内部角色

__system

有了创建语法,和参数说明,接下来开始实践.

注意,还有一点,账号是跟着数据库绑定的,在那个库里授权,就在那个库里验证 (auth)
否则会失败

创建 账号管理授权权限 的账号

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

然后退出数据库

 use admin
switched to db admin
  db.shutdownServer()

重新启动 mongodb,记得在配置文件 mongod.conf 里加上 auth = true

./bin/mongod -f conf/mongod.conf
./bin/mongo 127.0.0.1:12345
  show dbs #  没有验证,没有权限,会出错
 errmsg  :  not authorized on admin to execute command
  use admin
  db.auth(admin ,  123456)
#  返回  1  表示授权成功,0 表示失败
  show dbs # 已经授权,可以查看了

创建 读、读写权限的账户

 use book
switched to db book
  db.createUser(
... {
... user:  zhangsan ,
... pwd:  zhangsan ,
... roles: [{role:  read , db:  book}]
... }
... )
Successfully added user: {
  user  :  zhangsan ,
  roles  : [
 {
  role  :  read ,
  db  :  book 
 }
 ]
  db.createUser(
... {
... user:  lisi ,
... pwd:  lisi ,
... roles: [{role:  readWrite , db:  book}]
... }
... )
Successfully added user: {
  user  :  lisi ,
  roles  : [
 {
  role  :  readWrite ,
  db  :  book 
 }
 ]
  show users
  _id  :  book.lisi ,
  user  :  lisi ,
  db  :  book ,
  roles  : [
 {
  role  :  readWrite ,
  db  :  book 
 }
 ]
  _id  :  book.zhangsan ,
  user  :  zhangsan ,
  db  :  book ,
  roles  : [
 {
  role  :  read ,
  db  :  book 
 }
 ]
}

然后验证用户权限是否正确

 db.book.insert({book:  小人书}) #  没验证,会出错
WriteResult({
  writeError  : {
  code  : 13,
  errmsg  :  not authorized on book to execute command { insert: \ book\ , docum
ents: [ { _id: ObjectId( 5959b56edcc047dfe5c9b336), book: \ 小人书 \  } ], ordered: true } 
 }
  db.auth(lisi ,  lisi)
  db.book.insert({book:  小人书})
WriteResult({  nInserted  : 1 })
  db.auth(zhangsan ,  zhangsan) #  用户切到  zhangsan
  db.book.find() #  可以查看
{  _id  : ObjectId( 5959b59fdcc047dfe5c9b337),  book  :  小人书  }
  db.book.insert({book:  择天记}) #  没有 write 权限,会失败
WriteResult({
  writeError  : {
  code  : 13,
  errmsg  :  not authorized on book to execute command { insert: \ book\ , docum
ents: [ { _id: ObjectId( 5959b650dcc047dfe5c9b338), book: \ 择天记 \  } ], ordered: true } 
 }
})

创建 root 超级权限账号

这个超级权限包括 授权 和 操控数据库集合数据,比较简单,只需要把 role 设置成 root

 use admin
switched to db admin
  db.auth(admin ,  123456)
  db.createUser(
... {
... user:  dongsheng ,
... pwd:  123456 ,
... roles: [{role:  root , db:  admin}]
... }
... )
Successfully added user: {
  user  :  dongsheng ,
  roles  : [
 {
  role  :  root ,
  db  :  admin 
 }
 ]
  db.auth(dongsheng ,  123456)
  use book
switched to db book
  db.book.insert({book:  笑傲江湖})
WriteResult({  nInserted  : 1 })
  db.book.find()
{  _id  : ObjectId( 5959b59fdcc047dfe5c9b337),  book  :  小人书  }
{  _id  : ObjectId( 5959b7abdcc047dfe5c9b339),  book  :  笑傲江湖  }

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“mongodb 基础之用户权限管理的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计3432字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 亚洲日本欧美产综合在线 | 亚洲精品一区二区三区四 | 亚洲精品一区二区在线播放 | 亚洲精品久久夜色撩人男男小说 | 九九久久国产精品免费热6 九九久久精品 | 久久亚洲国产午夜精品理论片 | 肥臀浪妇太爽了快点再快点 | av无码精品一区二区三区四区 | 亚洲国产精品第一区二区三区 | 黄色a一级视频 | 久久国产色av免费看 | 免费观看美女视频的网站 | 欧美一区2区三区3区公司 | 被群cao的合不拢腿h纯肉视频 | 一本一道波多野结衣av一区 | 成年性午夜免费视频网站 | y111111少妇影院无码 | 国内精品久久久人妻中文字幕 | 蜜臀av在线观看 | 99久久综合 | 久久久噜噜噜久久中文字幕色伊伊 | 全免费a级毛片免费看视频免 | 亚洲av无码成人精品区在线播放 | 精品国产乱码一区二区三区 | 韩国精品一区视频在线播放 | 久久人与动人物a级毛片 | 特黄一级毛片 | 精品久久成人 | 使劲快高潮了国语对白在线 | 欧美性猛交一区二区三区精品 | 亚洲国产精品久久久久秋霞影院 | 无码乱人伦一区二区亚洲一 | 国产亚洲日韩av在线播放不卡 | 中文字幕av无码免费一区 | a级免费在线观看 | 男男羞羞动漫视频网站 | 豆国产97在线 | 亚洲 | 日韩免费无码视频一区二区三区 | 中文字幕在线久热精品 | 亚洲精品国产一区二区三 | 手机黄丨片免费看 |