欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker創(chuàng)建MongoDB容器并添加root密碼驗證與更多用戶詳細步驟

 更新時間:2023年01月04日 15:09:43   作者:呆萌的代Ma  
MongoDB是一個著名的面向文檔的數(shù)據(jù)庫,被許多現(xiàn)代Web應(yīng)用程序使用,下面這篇文章主要給大家介紹了關(guān)于Docker創(chuàng)建MongoDB容器并添加root密碼驗證與更多用戶的相關(guān)資料,需要的朋友可以參考下

首先下載鏡像文件

sudo docker pull mongo

無密碼驗證創(chuàng)建容器

docker run -itd --name mongo -p 27017:27017 mongo

這時創(chuàng)建的MongoDB是沒有用戶名與密碼的,比如使用python連接mongodb時只需要:

pymongo.MongoClient(host='localhost', port=27017)

需要密碼驗證創(chuàng)建容器

整個流程是:

  • 創(chuàng)建需要驗證的容器
  • 進入容器內(nèi)部,進入數(shù)據(jù)庫命令行
  • 創(chuàng)建root用戶與密碼
  • 登錄root用戶
  • 通過root用戶的權(quán)限創(chuàng)建其他用戶

步驟1:創(chuàng)建需要驗證的容器

修改創(chuàng)建容器的方法為:

sudo docker run -itd --name docker-mongo -p 27017:27017 mongo --auth

步驟2:進入容器內(nèi)部,進入數(shù)據(jù)庫命令行

只需要使用--auth即可創(chuàng)建需要驗證的容器,然后需要進入容器內(nèi)部,創(chuàng)建更多用戶:

sudo docker exec -it docker-mongo /bin/bash

進入容器后,運行:

mongosh

這樣就進入了mongodb的命令界面。

步驟3:創(chuàng)建root用戶與密碼

創(chuàng)建超級用戶:

use admin
db.createUser({ user: "root" , pwd: "root_pass", roles: ["root"]})

這樣就創(chuàng)建了root用戶與密碼:

  • 用戶名:root
  • 密碼:root_pass
  • 權(quán)限:root

步驟4:登錄root用戶

db.auth("root","root_pass")

返回 { ok: 1 },證明root用戶創(chuàng)建成功

步驟5:通過root用戶的權(quán)限創(chuàng)建其他用戶

創(chuàng)建對所有數(shù)據(jù)庫有讀寫權(quán)限的用戶:

db.createUser({ user: "dbrw" , pwd: "dbrw_pass", roles: ["readWriteAnyDatabase"]})

這樣就創(chuàng)建了一個新用戶:

  • 用戶名:dbrw
  • 密碼:dbrw_pass
  • 權(quán)限:readWriteAnyDatabase

同樣可以創(chuàng)建自定義的權(quán)限:

db.createUser({
    user:"ccc_user",
    pwd:"ccc_123456",
    roles:[
        {role:"readWrite",db:"new_db_1"},
        {role:"readWrite",db:"new_db_2"},
        'readAnyDatabase'
    ]
})

通過這種方式創(chuàng)建的用戶,可以得到:

  • 用戶名:ccc_user
  • 密碼:ccc_123456
  • 權(quán)限:
    • 讀寫權(quán)限:數(shù)據(jù)庫new_db_1
    • 讀寫權(quán)限:數(shù)據(jù)庫new_db_2
    • 只讀權(quán)限:除new_db_1、new_db_2外的其他數(shù)據(jù)庫

權(quán)限&名稱請參考

數(shù)據(jù)庫用戶角色

  • read: 只讀數(shù)據(jù)權(quán)限
  • readWrite:學些數(shù)據(jù)權(quán)限

數(shù)據(jù)庫管理角色

  • dbAdmin: 在當前db中執(zhí)行管理操作的權(quán)限
  • dbOwner: 在當前db中執(zhí)行任意操作
  • userADmin: 在當前db中管理user的權(quán)限

備份和還原角色

  • backup
  • restore

跨庫角色

  • readAnyDatabase: 在所有數(shù)據(jù)庫上都有讀取數(shù)據(jù)的權(quán)限
  • readWriteAnyDatabase: 在所有數(shù)據(jù)庫上都有讀寫數(shù)據(jù)的權(quán)限
  • userAdminAnyDatabase: 在所有數(shù)據(jù)庫上都有管理user的權(quán)限
  • dbAdminAnyDatabase: 管理所有數(shù)據(jù)庫的權(quán)限

集群管理

  • clusterAdmin: 管理機器的最高權(quán)限
  • clusterManager: 管理和監(jiān)控集群的權(quán)限
  • clusterMonitor: 監(jiān)控集群的權(quán)限
  • hostManager: 管理Server

超級權(quán)限

  • root: 超級用戶

總結(jié)

到此這篇關(guān)于Docker創(chuàng)建MongoDB容器并添加root密碼驗證與更多用戶的文章就介紹到這了,更多相關(guān)Docker創(chuàng)建MongoDB容器添加密碼驗證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論