1. 程式人生 > 其它 >docker部署mongo,並配置使用者

docker部署mongo,並配置使用者

  1. 建立容器:
    docker run --name mongo -p 3717:27017 -v /data/mongo/data:/data/db -v /data/mongo/backup:/data/backup -d mongo --auth
  2. 進入容器:
    docker exec -it mongo mongo admin
  3. 切換資料庫到admin:
    use admin
  4. 建立admin賬戶:
    db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'}]})
  5. 使用admin賬戶操作:
    db.auth("
    admin","123456")
  6. 建立新庫:
    use new-db
  7. 建立普通使用者並授權:
    db.createUser({user:"new-user",pwd:"123456",roles:[ { role: "readWrite", db: "new-db" }]});
  8. 退出容器:
    exit

基於角色的許可權說明(摘抄自:https://blog.csdn.net/m0_46205920/article/details/106115173

內建角色
資料庫使用者角色
read: 只讀資料許可權
readWrite:學些資料許可權

資料庫管理角色
dbAdmin: 在當前db中執行管理操作的許可權
dbOwner: 在當前db中執行任意操作
userADmin: 在當前db中管理user的許可權

備份和還原角色
backup
restore

跨庫角色
readAnyDatabase: 在所有資料庫上都有讀取資料的許可權
readWriteAnyDatabase: 在所有資料庫上都有讀寫資料的許可權
userAdminAnyDatabase: 在所有資料庫上都有管理user的許可權
dbAdminAnyDatabase: 管理所有資料庫的許可權

叢集管理
clusterAdmin: 管理機器的最高許可權
clusterManager: 管理和監控叢集的許可權
clusterMonitor: 監控叢集的許可權
hostManager: 管理Server

超級許可權
root: 超級使用者