我mongo db在ubuntu 18.04. 
我的第一個問題是,我ttread在 db 中添加了用戶RIPE,我們可以在上圖中看到,但為什么它也顯示在RIPEdb 之外?
我的第二個問題是,我怎樣才能讓用戶直接連接到RIPE資料庫。在 nosqlbooster 中,當我連接到 localhost 時,我提到AuthDB了如下RIPE所示:


當它連接時,它會顯示其他資料庫,如admin,、、、。configlocal
最后一個問題,在設定 mongodb 時如何添加用戶名和密碼,因為任何用戶都可以在沒有用戶名和密碼的情況下連接到 localhost。那么設定安全性的最佳方法是什么。
謝謝
uj5u.com熱心網友回復:
為了啟用身份驗證,請執行以下步驟:
更改組態檔并啟用身份驗證:
security: authorization: enabled重新啟動 MongoDB,通常
systemctl restart mongod創建用戶管理員
db.getSiblingDB("admin").createUser({ user: "root", pwd: passwordPrompt(), // or cleartext password roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
除非創建了用戶管理員,否則您仍然可以在沒有用戶名/密碼的情況下連接到 MongoDB,這種行為稱為Localhost Exception
就我個人而言,我沒有看到在其他資料庫中創建用戶的任何理由admin,請參閱什么是 mongodb 中的“admin”資料庫?.
我會這樣創建用戶:
db.getSiblingDB("admin").runCommand( {
createUser: "ttread",
pwd: passwordPrompt(),
roles: [ { role: "read", db: "RIPE " } ]
} )
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/443550.html
