2014-02-27 41 views
3

我對MongoDb有點新,而我正在使用MongoDb v.2.4.Here問題是,當我運行帶有--auth參數的mongod時,即使經過身份驗證,我也不是能夠執行簡單的操作,如「顯示用戶」。但是如果我運行沒有--auth參數的mongod,工作正常。MongoDB未被授權查詢admin.system.users

> use admin 
switched to db admin 
> db.auth("dbadmin","mypassword") 
1 
> show users 
**Thu Feb 27 16:50:17.695 error: { "$err" : "not authorized for query on admin.sys 
tem.users", "code" : 16550 } at src/mongo/shell/query.js:128** 

回答

8

首先,你應該到本地主機上運行的mongod沒有--auth,並創建你需要的必要roles用戶。在你的情況下,你應該添加userAdminAnyDatabaseuserAdmin角色。您可以運行帶有--auth的mongod,並由該用戶進行身份驗證,以便遠程訪問​​集合。
你可以閱讀關於它here

+0

謝謝。像魅力一樣工作!實際上,我已將dbAdminAnyDatabse角色分配給管理員。那是我錯過的地方。 – AnonymousCoder

4
> use admin 
switched to db admin 
> db.grantRolesToUser("your_admin_name" ,[ "root"]) 

該命令將爲您提供作爲管理員的任何數據庫的所有權限。