mongodb資料庫在預設是沒有使用者名稱及密碼,不用安全驗證的,只要連線上服務就可以進行crud操作。
第一部:開啟安全性驗證
如果需要給mongodb資料庫使用安全驗證,則需要用--auth開啟安全性檢查,則只有資料庫認證的使用者才能執行讀寫操作,開戶安全性檢查,有兩種方式:
第一種:重新建立window service伺服器,在建立服務時開啟安全性驗證。
1. 首先使用管理員身份開啟cmd.exe,啟動cmd命令視窗。
上面顯示,首先會移除已建立的window service服務,然後再次建立window service服務並開啟安全性驗證。
第二種:直接開啟安全性驗證
1. 首先使用管理員身份開啟cmd.exe,啟動cmd命令視窗。
2. 在視窗中輸入mongod --dbpath "d:\program files\mongodb\data\db" --logpath "d:\program files\mongodb\data\log\mongodb.log" --auth,如下:
帶有-auth引數時,必須通過認證才可以查詢資料。如果沒有加-auth引數,即使配置了安全認證使用者,也不需要認證誰都可以操作。
第二部:建立使用者
定位到d:\program files \mongodb\bin,使用mongo.exe進入mongodb的命令列管理。
鍵入命令:
>use admin
>db.adduser(「root」, 「root」)
現在我們為mongodb的admin資料庫新增乙個使用者root,密碼也是root,mongodb可以為每個資料庫都建立許可權認證,也就是你可以指定某個使用者可以登入到哪個資料庫。上面的**,我們為admin資料庫新增了乙個root使用者,在mongodb中admin資料庫是乙個特別的資料庫,這個資料庫的使用者,可以訪問mongodb中的所有資料庫。
如果你要為test資料庫,設定乙個使用者,使用如下命令:
>use test
>db.adduser(「test」, 「test」)
好了,現在我們已經為mongodb設定了乙個全域性使用者root,接下來先重啟mongodb,使建立的使用者生效。
使用者登入:
首先需要使用「use 資料庫名稱,如: use admin」跳轉到當前資料庫模式下,然後使用者登入,如下:
上面1表示登入成功,0表示登入失敗。
檢視當前mongodb資料庫所有資料庫資訊:
在特權使用者root下,admin資料庫下的使用者是超級使用者。
上面顯示所有資料庫名稱,資料庫大小。
system.user使用者
每個資料庫的使用者賬號都是以文件形式儲存在system.users集合裡面的,
文件結構。password hash是根據使用者名稱和密碼生成的雜湊。
查詢某個資料庫下的使用者db.system.users.find();
刪除某個資料庫下的所有使用者db.system.users.remove(),刪除指定使用者db.system.users.remove()
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設定使用者名稱和密碼
由於網路配置因人而異,需要根據自己實際環境進行配置,不作冗述。大致可以從以下方面禁止。在外網機器命令列中執行 telnet your.machine.open.ip 27017新建mongodb服務 mongod port 27017 dbpath data db1開啟mongodb客戶端shell...