2017-02-15 70 views
0

我們已經在AWS中安裝了MongoDB,它在沒有認證模式下運行。但我們希望以認證模式運行MongoDB實例。我們在mongod.conf文件中添加了行安全性: 授權:「啓用」。但是我們仍然可以在沒有任何憑證的情況下連接數據庫。在Ubuntu服務器中以認證模式啓動MongoDB

+1

你可以在沒有憑據連接後從數據庫查詢嗎? – franklinsijo

回答

0

由於本地主機異常,您可以登錄數據庫創建用戶,因爲您尚未創建任何用戶。正如在mongodb網站中提到的那樣。

您可以在啓用訪問控制之前或之後創建用戶。 如果您在創建任何用戶之前啓用訪問控制,則MongoDB 會提供本地主機例外,該例外允許您在管理數據庫中創建用戶 管理員。一旦創建,您必須以用戶管理員的身份 進行身份驗證,以創建其他用戶,如 所需。

之後,您應該創建具有角色userAdminAnyDatabase的管理員用戶,並且您將能夠創建此用戶,即使mongod是以--auth或不是。你可以通過下面的命令創建這個用戶。

use admin 

db.createUser(
    { 
    user: "myAdmin", 
    pwd: "123adc", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] 
    } 
) 

然後創建其他用戶,更詳細的,你可以去我給出的另一個答案。

https://stackoverflow.com/a/40058794/3879440

+0

Hi Puneet。在ubuntu服務器中以認證模式啓動MongoDB 3.0.3的最佳方式是什麼? – Pankaj

+0

啓用身份驗證的流程與答案中提到的相同,可能會有語法更改。檢查MongoDB手冊獲取更多幫助 - https://docs.mongodb.com/v3.0/tutorial/enable-authentication/ –

+0

感謝Punnet的快速回復....我在下面的URL中發佈了一個問題, mongodb在auth模式下... http://stackoverflow.com/questions/42339604/start-mongodb-3-0-3-version-in-authentication-mode-in-ubuntu-server – Pankaj