好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > mongodb基礎之用戶權限管理實例教程

mongodb基礎之用戶權限管理實例教程

熱門標簽:蘋果汽車租賃店地圖標注 老虎洗衣店地圖標注 杭州人工電銷機器人價格 濟南電銷機器人加盟公司 怎么投訴地圖標注 電銷機器人是什么軟件 云南外呼系統 呼和浩特電銷外呼系統加盟 廣州長安公司怎樣申請400電話

前言

本文主要介紹了mongodb用戶權限管理的相關內容,關于接著上次實踐的部分,下面話不多說了,來一起看看詳細的介紹吧

啟動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
# 返回 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')
1
> db.book.insert({book: '小人書'})
WriteResult({ "nInserted" : 1 })
> db.auth('zhangsan', 'zhangsan') # 用戶切到 zhangsan
1
> 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')
1
> 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')
1
> use book
switched to db book
> db.book.insert({book: '笑傲江湖'})
WriteResult({ "nInserted" : 1 })
> db.book.find()
{ "_id" : ObjectId("5959b59fdcc047dfe5c9b337"), "book" : "小人書" }
{ "_id" : ObjectId("5959b7abdcc047dfe5c9b339"), "book" : "笑傲江湖" }

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • MongoDB 簡單入門教程(安裝、基本概念、創建用戶)
  • MongoDB數據庫用戶角色和權限管理詳解
  • MongoDB 用戶管理
  • MongoDB在系統數據庫local中無法創建用戶的解決辦法
  • Mac下安裝配置mongodb并創建用戶的方法
  • Mongodb 3.2.9開啟用戶權限認證問題的步驟詳解
  • MongoDB快速入門筆記(七)MongoDB的用戶管理操作
  • MongoDB系列教程(四):設置用戶訪問權限
  • Windows下MongoDB配置用戶權限實例
  • mongodb 添加用戶及權限設置詳解
  • MongoDB為用戶設置訪問權限
  • MongoDB 用戶相關操作

標簽:自貢 興安盟 泰安 無錫 雞西 廈門 遼陽 玉林

巨人網絡通訊聲明:本文標題《mongodb基礎之用戶權限管理實例教程》,本文關鍵詞  mongodb,基礎,之,用戶,權限,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mongodb基礎之用戶權限管理實例教程》相關的同類信息!
  • 本頁收集關于mongodb基礎之用戶權限管理實例教程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 大胸美女???www| 啊?学长?轻点?我的奶头| 尤物99国产成人精品视频| tubesexvideo日本护士| 99久久婷婷国产综合精品草原 | 翁虹最露三级未删减在| 痞帅GAy大猛一XNXX直播| 国产情品国产三级国产AV剧情| 台球室艳遇| 国产精品玖玖| 色欲AV精品一线二线三线| ?国产精品海角社区视频| 销魂艳俾| 武藤绫香无码AⅤ在线播放| 无码一区二区三区在线| 麻豆视频传媒二区| 国产精品秘?久久一区二区| 进去了(高H)| 男女裸体做爰猛烈床戏| 亚洲女同志亚洲女同女播放| 国内见头最多的走秀视频| 97se色综合一区二区三区| 肉欲公妇爽文H| 男s粗口激烈调教mp3| 欧美网友人妻性色浪潮AV| 91肉色超薄丝袜脚交一区二区 | 18禁美女黄网站色大片下载| 天天操天天插天天射| 中国与黑人xxxx视频| 国产精品秘?天美传媒入口| 一二三四免费观看高清动漫视频 | a级在线播放| 各种小泬高潮ⅩXXX| 黃色古装A片三級DVD偷人| 护士h系列辣文np| 打女犯大白屁股| 亚洲欧美制服丝袜| 《乳色吐息》樱花免费看| 91麻豆精品国产瑜伽裤| 一路向西香港电影未删减在线观看| 中国明星hdxxxx|