MongoDB設定使用者名稱和密碼

2021-10-10 10:03:52 字數 1411 閱讀 5079

由於網路配置因人而異,需要根據自己實際環境進行配置,不作冗述。大致可以從以下方面禁止。

在外網機器命令列中執行

telnet your.machine.open.ip 27017
新建mongodb服務:

mongod --port 27017 --dbpath /data/db1
開啟mongodb客戶端shell:

mongo --port 27017

use admin

db.createuser(]})

管理員建立成功,現在擁有了使用者管理員

使用者名稱:adminuser

密碼:adminpass

然後,斷開 mongodb 連線, 關閉資料庫

啟動帶訪問控制的 mongodb

mongod --auth --port 27017 --dbpath /data/db1
現在有兩種方式進行使用者身份的驗證

mongo --port 27017 -u "adminuser" -p "adminpass" --authenticationdatabase "admin"
mongo --port 27017

use admin

db.auth("adminuser", "adminpass")

// 輸出 1 表示驗證成功

過程類似建立管理員賬戶,只是 role 有所不同

use foo

db.createuser(

, ]

})

現在我們有了乙個普通使用者

使用者名稱:******user

密碼:******pass

許可權:讀寫資料庫 foo, 唯讀資料庫 bar。

注意

use foo表示使用者在 foo 庫中建立,就一定要 foo 庫驗證身份,即使用者的資訊跟隨隨資料庫。比如上述 ******user 雖然有 bar 庫的讀取許可權,但是一定要先在 foo 庫進行身份驗證,直接訪問會提示驗證失敗。

use foo

db.auth("******user", "******pass")

use bar

show collections

2.5 開啟強制驗證

建立完畢後,找到mongod.conf,開啟設定

儲存並重啟就行了。

mongodb設定使用者名稱密碼

參考docs.mongodb.com manual 開啟c盤的mongodb目錄,開啟cmd,執行 mongod dbpath e mongodb db logpath e mongodb log mongodb.log auth 開啟安全驗證 執行mongo use admin 建立使用者 db....

MongoDB 設定使用者名稱密碼登入

mongodb 預設直接連線,無須身份驗證,如果當前機器可以公網訪問,且不注意mongodb 埠 預設 27017 的開放狀態,那麼mongodb就會產生安全風險,被利用此配置漏洞,入侵資料庫。由於網路配置因人而異,需要根據自己實際環境進行配置,不作冗述。大致可以從以下方面禁止。在外網機器命令列中執...

mongodb 使用者名稱 密碼

1.不需要登入的方式啟動mongodb 2.檢視當前的庫 linux mongo show dbs 顯示admin 和 local兩個庫 3 建乙個新的庫 zcydb linux mongo use zcydb 建立了新的庫 db 顯示當前所在的庫 show dbs 顯示所有的庫,但是新建的沒有列出...