Mongodb
如何禁止匿名使用者訪問 mongo shell?
我在 mongodb 中創建了使用者。其中一位使用者是管理員。但是當我執行 $mongo 時,它允許我在不指定使用者和密碼的情況下連接到 mongo shell。我應該怎麼做才能防止所有人在沒有使用者登錄的情況下訪問 mongo shell?請幫忙
預設情況下,MongoDB 沒有啟用訪問控制,因此您需要單獨配置。幸運的是,多虧了編寫良好的 MongoDB 手冊,這並不太難。
這是要點:
- 在沒有訪問控制的情況下啟動 MongoDB(我相信你已經完成了)
- 連接到實例(你已經說過你已經完成了)
- 創建管理員帳戶:
use admin db.createUser( { user: "adminny", pwd: "superSecretPassword!123", roles: [ { role: "dbOwner", db: "admin" } ] } )
- 使用訪問控制重新啟動 MongoDB 實例。
mongod --auth --port 27017 --dbpath /data/db1
注意
--auth
啟動中的選項。 5. 驗證為管理員帳戶:mongo --port 27017 -u "adminny" -p "superSecretPassword!123" --authenticationDatabase "admin"
關於角色的重要說明
有多種角色可供選擇,選擇錯誤的角色可能會導致不必要的挫敗感。
您可以在 MongoDB 手冊中閱讀有關每個內置角色的更多資訊,這非常平易近人。