在Linux系統上為MongoDB設置權限時,需要關注以下幾個要點:
安裝MongoDB: 確保MongoDB已經安裝在您的Linux系統上。如果尚未安裝,可以從MongoDB官方網站下載并安裝適用于您的Linux發行版的MongoDB Community Server。
創建MongoDB用戶:
mongo
use myDatabase
db.createUser({
user: "myUser",
pwd: "myUserPassword",
roles: [
{ role: "readWrite", db: "myDatabase" }
]
})
將myDatabase
替換為您要授權的數據庫名稱,將myUser
和myUserPassword
替換為您選擇的用戶名和密碼。啟用身份驗證:
/etc/mongod.conf
),在security
部分下添加或修改以下行以啟用身份驗證:security:
authorization: enabled
sudo systemctl restart mongod
使用新創建的用戶登錄:
mongo -u myUser -p myUserPassword --authenticationDatabase myDatabase
這將使用您在第2步中創建的用戶憑據登錄到MongoDB。創建管理員用戶:
admin
數據庫并創建一個管理員用戶:use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: [root]
})
創建數據庫和集合:
use admin
db.createRole({
role: "readOnlyRole",
privileges: [
{
resource: { db: "mydatabase", collection: "" },
actions: [find]
}
],
roles: []
})
use mydatabase
db.createUser({
user: "readOnlyUser",
pwd: "user_password",
roles: [readOnlyRole]
})
驗證權限:
mongo -u readOnlyUser -p user_password --authenticationDatabase mydatabase
db.mycollection.find()
使用SSL/TLS加密連接(可選):
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/mongodb.pem
CAFile: /path/to/ca.pem
sudo systemctl restart mongod
使用防火墻限制訪問(可選):
sudo ufw allow 27017/tcp
通過以上步驟,您可以在Linux系統中為MongoDB設置權限,確保數據庫的安全性和數據的完整性。