2016-02-18 52 views
0

我在使用基本Mongo安全性工作在我的ubuntu 14.04實例上時遇到了問題。我安裝了Mongo 3.2我的/etc/mongod.conf文件沒有auth,所以當通過sudo服務mongod start(或啓動時)啓動mongo時,我可以從mongo控制檯編輯安全信息。之前通過執行db.system.version.remove({}),然後執行db.system.version.insert({「_id」:「authSchema」,「currentVersion」 :3}),所以爲了解決這個問題(或者只是安全起見),我刪除了所有用戶,並根據https://docs.mongodb.org/v3.0/release-notes/3.0-scram/#upgrade-scram-scenarios運行以下內容。Mongo 3.2 SCRAM-SHA-1身份驗證問題

db.adminCommand({authSchemaUpgrade: 1}); 

這導致了一個好的。然後我創建了我的管理員用戶,如下所示:

use admin 
db.createUser({ user: "siteUserAdmin", pwd: "PASSWORD", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) 

這將返回創建的用戶的結果。然後我做(與當前的mongod實例仍與權威性關閉)進行了測試:

use admin 
db.auth(siteUserAdmin, "PASSWORD") 

這返回1次成功,到目前爲止好,看起來就像用戶工作。接下來,我停止以兩種方式之一啓動mongod以嘗試啓用安全性。一種是編輯/etc/mongod.conf文件以包含授權:在#security部分下啓用。 sudo服務mongod啓動然後不會工作(雖然它說運行,隨後的sudo服務mongod狀態顯示停止,我不能在shell中連接)。所以,我曾與開始的mongod作爲守護服務更好的結果作爲推薦https://docs.mongodb.org/manual/tutorial/manage-mongodb-processes/

​​3210

這工作,我可以訪問蒙戈控制檯,然後我進入使用管理,這個切換成功數據庫管理員,然後我再次嘗試:

db.auth(siteUserAdmin, "PASSWORD") 

繼承人我的問題/問題,現在我得到0,錯誤:身份驗證失敗。我已經嘗試了一些不值得提及的東西,但似乎無法驗證,請消除冗長的問題,我認爲額外的情況可能與問題有關,任何想法我做錯了什麼?

回答

0

好吧我解決了其中一種啓動方法中的問題。在我的/etc/mongod.conf文件中,我有以下內容:

#security: 
    authorization: enabled 

這不會啓動與sudo服務mongod啓動。更新以下(即除去了保衛科的評論)固定它:

security: 
    authorization: enabled 

這也是固定的授權,我可以成功運行:

use admin 
db.auth(siteUserAdmin, "PASSWORD")