回答
從蒙戈Java教程
的MongoDB可以在對數據庫的訪問是通過名和密碼驗證來控制安全模式下運行。在此模式下運行時,任何客戶端應用程序在執行任何操作之前都必須提供名稱和密碼。在Java驅動程序,你只需做的連接蒙戈對象如下:
boolean auth = db.authenticate(myUserName, myPassword);
如果用戶名和密碼是有效的數據庫,AUTH將是真實的。否則,這將是錯誤的。如果可用,您應該查看MongoDB日誌以獲取更多信息。
大多數用戶在受信任的環境中無需身份驗證即可運行MongoDB。
配置身份驗證和安全
驗證存儲在每個數據庫的system.users集合。例如,在數據庫projectx中,projectx.system.users將包含用戶信息。
我們應該先配置整個數據庫服務器進程的管理員用戶。該用戶存儲在特殊的管理數據庫下。
如果沒有用戶在admin.system.users配置,可以從本地主機接口訪問數據庫而不認證。因此,從運行的數據庫(從而對本地主機)服務器,運行數據庫的殼,並配置一個管理用戶:
$ ./mongo
> use admin
> db.addUser("theadmin", "anadminpassword")
我們現在有數據庫管理創建了一個用戶。需要注意的是,如果我們以前沒有認證的,我們現在必須,如果我們要進行進一步的操作,因爲在admin.system.users用戶。
> db.auth("theadmin", "anadminpassword")
我們可以把現有的用戶與該命令的數據庫:
> db.system.users.find()
現在,讓我們來配置其它數據庫中的「常規」的用戶。
> use projectx
> db.addUser("joe", "passwordForJoe")
最後,讓我們添加一個只讀用戶。 (僅支持1.3。2+)
> use projectx
> db.addUser("guest", "passwordForGuest", true)
因此,您在admin數據庫中創建了管理員'theadmin',然後使用'--auth'選項重新啓動了mongod。 現在,如果你做'./mongo admin',你會如何自動登錄而不提供用戶並且通過? – Strae 2012-02-08 16:41:28
在這種情況下,您已經啓動了mongo shell但尚未通過身份驗證。嘗試和做任何操作,例如'show collections',你會得到'未授權的'錯誤。 – WildService 2012-11-14 12:31:13
- 爲蒙戈實例創建一個管理用戶,
> use admin
> db.addUser("admin", "xyzxyz")
- 切換到DB中所需要的認證
> use newdb
> db.addUser("newuser", "strongpwd")
- 停止蒙戈實例/服務。如果通過
ppa
安裝了mongodb,則將其配置爲服務。
sudo service mongodb stop
,如果它是從源代碼安裝,使用停止進程:
/etc/init.d/mongodb stop
- 更改配置文件默認情況下
vim /etc/mongodb.conf
使用認證
auth = true
- 啓動MongoDB的。如果它是一個服務
sudo service mongodb restart
其他
mongod --config /etc/mongodb.conf
- 檢查AUTH已啓用:
> show collections
上newdb
應該給予錯誤
"$err" : "not authorized for query on newdb.system.namespaces",
"code" : 16550
和
> db.auth("newuser", "strongpwd")
現在分貝newdb
固定後應該工作。
- 1. 麻煩創建MongoDB的MongoDB數據庫
- 2. 如何安全地在C中創建一個MySQL數據庫#
- 3. 如何在H2數據庫中創建安全字段?
- 4. 在還原的數據庫上重新創建安全性?
- 5. 無法在全新安裝的monetdb上創建數據庫
- 6. Mongodb沒有創建數據庫
- 7. MongoDB從文件創建數據庫
- 8. 使用mongodb創建數據庫node.js
- 9. 如何爲數據庫創建mongodb oplog?
- 10. 數據庫安全
- 11. 在Java中爲MongoDB創建數據源
- 12. 數據庫安全性不夠安全
- 13. 在SQL Server中建立與安全數據庫的安全連接
- 14. 有一些數據庫問題(創建,連接,安全...等)
- 15. 安全地爲多租戶數據庫創建新模式
- 16. 創建數據庫條目的安全錨點引用
- 17. 安全隨機種子和Derby數據庫創建
- 18. 使用Ansible創建RDS數據庫安全組
- 19. 從node.js在mongolab mongodb數據庫中創建集合模式
- 20. 如何使用MongoVUE工具在MongoDB中創建數據庫
- 21. 無法在MongoDB數據庫中創建集合
- 22. 如何使用Node js在Mongodb中創建數據庫?
- 23. 如何使用PyMongo在MongoDB中創建新的數據庫?
- 24. 在數據庫中保存用戶創建的javascript是否安全?
- 25. 創建隨機生成的安全令牌並存儲在數據庫中
- 26. WP7:如何創建安裝數據庫
- 27. 數據庫安全(phpmyadmin)
- 28. Sqlite數據庫安全
- 29. 安全SQLite數據庫
- 30. HTML5 Web數據庫安全
問題是什麼? – Mat 2011-03-23 14:34:48