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
chmod
600 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建立管理員 ...