Mongodb

如何禁止匿名使用者訪問 mongo shell?

  • May 24, 2021

我在 mongodb 中創建了使用者。其中一位使用者是管理員。但是當我執行 $mongo 時,它允許我在不指定使用者和密碼的情況下連接到 mongo shell。我應該怎麼做才能防止所有人在沒有使用者登錄的情況下訪問 mongo shell?請幫忙

預設情況下,MongoDB 沒有啟用訪問控制,因此您需要單獨配置。幸運的是,多虧了編寫良好的 MongoDB 手冊,這並不太難。

這是要點:

  1. 在沒有訪問控制的情況下啟動 MongoDB(我相信你已經完成了)
  2. 連接到實例(你已經說過你已經完成了)
  3. 創建管理員帳戶:
use admin
db.createUser(
 {
   user: "adminny",
   pwd: "superSecretPassword!123",
   roles: [ { role: "dbOwner", db: "admin" } ]
 }
)
  1. 使用訪問控制重新啟動 MongoDB 實例。
mongod --auth --port 27017 --dbpath /data/db1

注意--auth啟動中的選項。 5. 驗證為管理員帳戶:

mongo --port 27017 -u "adminny" -p "superSecretPassword!123" --authenticationDatabase "admin"

關於角色的重要說明

有多種角色可供選擇,選擇錯誤的角色可能會導致不必要的挫敗感。

您可以在 MongoDB 手冊中閱讀有關每個內置角色的更多資訊,這非常平易近人。

引用自:https://dba.stackexchange.com/questions/292128