日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB 权限认证

發布時間:2023/12/4 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB 权限认证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  MongoDB已經使用很長一段時間了,基于MongoDB的數據存儲也一直沒有使用到權限訪問(MongoDB默認設置為無權限訪問限制),因為考慮到數據安全的原因特地花了一點時間研究了一下,網上搜出來的解決方法大都是3.0以下的版本的,所以不適合3.0+以上的版本。我現在用的版本是MongoDB3.2.7,在windows10系統上進行的驗證,估計在win7/win8上應該類似。

  和其它數據庫一樣,權限的管理都差不多一樣。mongodb存儲所有的用戶信息在admin 數據庫的集合system.users中,保存用戶名、密碼和數據庫信息。mongodb默認不啟用授權認證,只要能連接到該服務器,就可連接到mongod。若要啟用安全認證,需要更改配置文件參數auth

  1、首先,不使用--auth參數啟動MongoDB

  

systemLog:destination: filepath: C:\data\dblog\mongod.loglogAppend: true storage:journal:enabled: truedbPath: C:\data\db net:port: 27017#security:#authorization: enabled

?

  mongod -f C:\data\mongodb.conf

  

?

? 2、啟動mongo, 啟用admin數據庫

  

 3、建立一個超級用戶admin,命令如下:  

  db.createUser(? ??{? ????user: "admin",? ????pwd: "admin123",? ????roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]? ??}?)

  

  4、查看用戶集合

  db.system.users.find()

  

  5、現在啟用auth

  在重啟mongod之前,修改配置文件mongo.config,在最下面加入這么一行

  auth = on

?  重啟mongod

  mongod -f C:\data\mongodb.conf?

  

  然后重啟mongo,啟用admin數據庫,

  顯示所有數據庫 : show dbs, 發現已經沒有權限了

  

  啟用 auth

  db.auth('admin', 'admin123') ?返回1表示成功

  

?

  再次執行show dbs

  

  6、 啟用ta數據庫,查看該數據庫集合

  

  很遺憾沒有權限,admin雖然是超級管理員,但是對具體的數據庫,還是需要有對應的用戶,用戶是和數據庫走的,因此還需要建立ta數據庫的用戶

  建立針對ta數據庫的用戶

  db.createUser({user:'test1',pwd:'test1',roles:[{role:'readWrite',db:'ta'}]})

  需要注意的是在建立ta數據庫用戶的時候一定要先啟用ta數據庫,否則會出現問題

  use ta

  

?

?  

  執行?db.auth('test1','test1')

  然后再對ta數據庫進行相應的操作。

  

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的MongoDB 权限认证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。