數據來源:https://segmentfault.com/a/1190000011554055
mongodb安裝后是無需密碼
Mongodb安裝后自身是沒有密碼的,用戶連接只需填寫id地址,端口號,數據庫名稱即可
安全問題
只要你服務器的mongodb數據庫端口開放,任何人的電腦都可以連接到你的數據庫,操作修改你的mongodb數據,本人以前就遭受過入侵,深有感觸。如圖:黑客盜取你的數據庫,然后留下一個郵箱和賬號,要求你給比特幣才肯歸還數據庫給你。。。
給mongodb加密
如果需要給MongoDB數據庫使用安全驗證,則需要用--auth開啟安全性檢查,只有數據庫認證的用戶才能執行讀寫操作,開戶安全性檢查。
第一步:開機先:mongod --dbpath 存放數據庫文件夾路徑
第二步:打開命令行窗口輸入mongo
,進入mongo環境
第三步:切換到 'admin' 數據庫 use admin
第四步:給admin設置用戶密碼:
user: 用戶名, pwd: 用戶密碼,roles: 用來設置用戶的權限,比如讀,讀寫 等等db.createUser({user: 'root', pwd: '123456', roles: ['root']})
驗證是否添加成功,'db.auth(用戶名,用戶密碼)'
這里用db.auth('root', '123456')
如果返回 '1'表示驗證成功, 如果是 '0' 表示驗證失敗...
第5步:剛才是給root設置密碼,現在要給特定的每個庫設置權限,比如我這里有一個庫,庫名字叫做Article,這里以Article這個庫為例
切換到Article數據庫,use Article
接下來為這個庫添加一個用戶,並且賦予權限,db.createUser({user:'zwVic',pwd:'adgjmp123',roles: [{role:'readWrite',db:'Article'}]})})
這行代碼意思是 創建一個zwStar用戶 給予讀寫權限 db表示該用戶操作的數據庫名
OK,一切搞定,重新開機mongodb,MongoDB默認是沒有開啟訪問控制,我們通過--auth
參數重啟mongod服務。mongod --dbpath 存放數據庫文件夾路徑 --auth
一旦開啟了,用戶連接mongod必須指定用戶名和密碼。
連接加密數據庫
xxx.db('mongodb://your name: your pwd@ ip :27017/Article');
your name
:為用戶名your pwd
:為密碼
總結
通過加密后。連接數據庫就需要賬號,密碼,同時阿里雲或者騰訊雲上也可以給服務器設置安全組增加安全性,比如27107這個端口只授權給自己訪問等等....
文中有什么不對的,希望大家指正哈!
如果覺得本文對你有所幫助,就star一下吧~