MongoDB開啟權限認證


 

MongoDB默認安裝完后,如果在配置文件中沒有加上auth = true,是沒有用戶權限認證的,這樣對於一個數據庫來說是相對不安全的,尤其是在外網的情況下。

 

接下來是配置權限的過程:
//切入到admin數據庫

use admin  

 

//在admin數據庫中加入一個用戶
 
//用戶名:admin,密碼:123456,角色:userAdminAnyDatabase
 
db.createUser({user: 'admin', pwd: '123456', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]})

 

上面這個用戶加在admin數據庫中,通過該用戶登錄到MongoDB,可以預覽其他庫,但是想要查看其他庫的集合,會報以下錯誤,原因是沒有給其他庫分配權限。
 
//查看EMPI_2庫的集合

use EMPI_2

show collections

 
//會報異常
Failed to refresh 'Collections'.
Error:
ListCollections failed: { ok: 0.0, errmsg: "not authorized on EMPI_2 to execute command { listCollections: 1, filter: {}, cursor: {} }", code: 13, codeName: "Unauthorized" }
 
//給其他庫分配權限

//給admin這個用戶授予了EMPI_2庫的讀寫權限

db.grantRolesToUser("admin",[{role:"readWrite",db:"EMPI_2"}])

 

好了,設置好權限配置,在配置文件開啟授權認證auth = true,重啟MongoDB服務,那么在下次登錄到庫時,就需要用戶名和密碼了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM