2013-05-12 54 views
1

我使用最新的mongo,並嘗試按照Mongo文檔中所述設置SuperUserAdmin。無法在mongo中進行身份驗證localhost

1) Start ./mongod --dbpath ../data without auth 
2) Run ./mongo 
3) [mongo shell]: use admin 
4) [mongo shell]: db.addUser({ user: "admin", 
       pwd: "abcde1234", 
       roles: [ "userAdminAnyDatabase" ] }) 
5) [mongo shell]: db.shutdownServer() 

then i restart mongod with auth: 
6) ./mongod --auth --dbpath ../data 
7) Run mongo (as localhost) again: ./mongo -u admin -p abcde1234 

Then i get this error: 
Javascript executiion failed: Error: 18 {code:18, ok:0.0, errmsg: 'auth fails'} at src/mongo/shell/db.js:L228 

我嘗試了不同的用戶名密碼&,同樣的事情..我失去了

什麼?我在我的Mac上運行。

任何人有任何想法?

回答

3

角色userAdminAnyDatabase只允許用戶管理。這就是爲什麼如果新帳戶僅具有此角色,則只能對數據庫「admin」進行身份驗證,即mongo -u admin -p abcde1234 localhost/admin應該可以工作。

您可能還想添加角色dbAdminAnyDatabase。

+2

即使設置了dbAdminAnyDatabase,它也不起作用,或者至少對於測試數據庫來說它仍然失敗,只要在'create a user administrator'中描述的方法。但管理數據庫的日誌很好。任何一個解決這個問題的人? – 2013-11-24 12:48:03

0

嘗試

mongo admin -u admin -p abcde1234 

否則你將連接到測試數據庫和管理不能。

相關問題