溫馨提示×

MongoDB在Debian上的權限管理如何設置

小樊
41
2025-07-30 11:42:14
欄目: 云計算

在Debian上設置MongoDB的權限管理涉及多個步驟,包括安裝MongoDB、配置MongoDB以啟用認證、創建用戶以及分配角色和權限。以下是詳細的步驟:

安裝MongoDB

首先,確保你的系統是最新的:

sudo apt update && sudo apt upgrade -y

然后,導入MongoDB的GPG密鑰并添加官方存儲庫:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

更新包列表并安裝MongoDB:

sudo apt update
sudo apt install -y mongodb-org

啟動MongoDB服務并設置其開機自啟:

sudo systemctl start mongod
sudo systemctl enable mongod

配置MongoDB以啟用認證

編輯MongoDB配置文件 /etc/mongod.conf

sudo nano /etc/mongod.conf

啟用身份驗證并配置其他安全設置:

security:
  authorization: enabled
  enableLocalhostAuthBypass: false

修改默認端口(例如27017):

net:
  port: 27017

創建管理員用戶

啟動MongoDB shell:

mongo

admin 數據庫中創建一個管理員用戶:

use admin
db.createUser({
  user: "myUserAdmin",
  pwd: "myStrongPassword",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})

啟用身份驗證:

security:
  authorization: enabled

重啟MongoDB服務以使更改生效:

sudo systemctl restart mongod

設置用戶權限

連接到MongoDB shell并使用管理員賬戶:

mongo -u myUserAdmin -p myStrongPassword --authenticationDatabase admin

為需要權限的數據庫創建其他用戶:

use myDatabase
db.createUser({
  user: "readOnlyUser",
  pwd: "readPassword",
  roles: [ { role: "read", db: "myDatabase" } ]
})

網絡訪問控制

修改MongoDB配置文件以限制訪問:

net:
  bindIp: 127.0.0.1

只允許本機訪問MongoDB:

net:
  bindIp: 127.0.0.1

加密通信(TLS/SSL)

配置MongoDB使用TLS/SSL以加密通信。請參考MongoDB官方文檔進行詳細配置。

審計系統活動

啟用系統審計以跟蹤數據庫配置和數據的訪問和更改。MongoDB企業版包括一個系統審計工具,可以記錄MongoDB實例上的系統事件。

保持系統和軟件更新

定期更新MongoDB和操作系統以修補已知漏洞:

sudo apt update && sudo apt upgrade -y

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女