為MongoDB新增身份驗證

2021-08-21 16:45:59 字數 2230 閱讀 7979

mongodb 預設沒有開戶身份驗證,除非不開放外網訪問,否則這種模式極不安全,現紀錄新增身份驗證步驟如下:

配置建立使用者的時候,需要關閉:

#security:

##副本集之間通訊用到的認證檔案

# keyfile: /home/soft/mongodb-linux-x86_64-rhel62-3.4.2-shard2/mongo-key

# clusterauthmode: "keyfile"

##開啟身份驗證

# authorization: "enabled"

因為你要用use admin,如果你開啟授權的話,你又沒有密碼。故。。。增加使用者的時候,先把這些授權的給注釋掉。

1:在新增驗證之前,先執行mongo建立乙個管理員使用者,否則開戶驗證後無法登入

use admin

db.createuser(

]

}

)

有關可用許可權列表,參見:

2:匯出keyfile(用於集群之間驗證身份),並拷貝到各個機器中

匯出認證key檔案

openssl rand -base64 741 > mongo-key

chmod600 mongo-key#這裡必須是600

3:停止mongod執行緒   ./mongod -f mongod.conf --shutdown

4:在mongod.conf檔案中新增如下配置:

新增mongodb使用者

security:

##副本集之間通訊用到的認證檔案

keyfile: /home/soft/mongodb-3.2.1/mongo-key

clusterauthmode:"keyfile"

##開啟身份驗證

authorization:"enabled"

5:啟動mongod

6:啟動mongo

7:現在新增其他用途的使用者,但首先必須進行身份認證

認證並新增使用者

use admin;

db.auth("root","abc123");

建立使用者前,首先要切換到要建立使用者的資料庫,否則會建立到當前庫中

use candao_qc;

db.createuser(]

});

db.createuser(]

});

---用這個:datacenter_qc

use datacenter_qc;

db.createuser(]

});

db.createuser(]

});

這裡需要注意: db,qc環境為:datacenter_qc,正式環境就是:datacenter_release

8:現在在**中連線資料庫時需要指定使用者和密碼了

修改前:mongodb:

修改後:mongodb://candao_sys:[email protected]:27017/datacenter_qc?replicaset=candao_qc&authsource=datacenter_qc

mongodb 啟用身份驗證

mongodb 身份驗證預設是禁用的,因此如果要啟用身份驗證需要在啟動時指定 auth來啟用身份驗證 mongod auth 也可以用配置檔案方法啟用身份驗證 security authorization enabled 所以在啟用身份驗證前你至少需要有乙個使用者。這個使用者來負責建立和管理其他使用...

MongoDB啟用身份驗證

新安裝的系統發現80端占用,檢查程序發現是system程序id 4給占用了,這個是系統程序,既然是system。那麼應該不回是真正的系統,而是微軟的其他系列產品的程序在執行。1 檢查iis 發現iis服務根本沒有安裝 2 檢查sql server 發現sql server reporting ser...

MongoDB管理使用者並啟用身份驗證

mongodb安裝完成後沒有預設的使用者,需要手動建立,在啟用身份驗證訪問控制之前,我們可以先建立管理員,給管理員賦予useradmin 或 useradminanydatabase 角色,這樣管理員就可以建立使用者,授予或撤銷使用者角色,以及建立或修改定義角色。1,連線到mongodb建立管理員 ...