mongodb kerberos身份验证

mongodb kerberos身份验证,mongodb,kerberos,Mongodb,Kerberos,我正在按照中的文档进行操作,运行此步骤时出现以下错误 use $external db.createUser( { user: "application/reporting@EXAMPLE.NET", roles: [ { role: "read", db: "records" } ] } ) 首先,它不识别db.createUser(),我将它改为db.addUser()。(我使用的是2.4版)我将用户值更改为我的帐户 但是,我得到了以下错误 Mon Jun

我正在按照中的文档进行操作,运行此步骤时出现以下错误

use $external
db.createUser(
   {
     user: "application/reporting@EXAMPLE.NET",
     roles: [ { role: "read", db: "records" } ]
   }
)
首先,它不识别db.createUser(),我将它改为db.addUser()。(我使用的是2.4版)我将用户值更改为我的帐户

但是,我得到了以下错误

Mon Jun 23 17:28:14.519无法添加用户:无法在src/mongo/shell/db.js:128处插入保留的$collection

我没有使用$external,而是将addUser更改为包含usersource属性,然后得到错误

Mon Jun 23 17:30:49.876无法添加用户:system.users条目必须在src/mongo/shell/db.js:128处具有“pwd”字段或“userSource”字段,但不能同时具有这两个字段


非常感谢您提供的任何帮助。

如果您使用的是2.4,您必须遵循以下内容:

db = db.getSiblingDB("records")
db.addUser( {
              "user": "application/reporting@EXAMPLE.NET",
              "roles": [ "read" ],
              "userSource": "$external"
            } )

您还需要运行企业版2.4,否则Kerberos身份验证将无法工作。

Kerberos支持仅适用于MongoDB Enterprise。您可以从MongoDB网站下载


至于用户权限,您需要使用基于2.4的教程,因为自那时起权限模式已经更改。您使用的是2.6版。

如何检查是否运行企业版?我从该站点下载。当我现在运行它时,我得到以下错误。db.addUser({user:“application/当我现在运行它时,我得到以下错误。db=db.getSiblingDB(“records”)db.addUser({user:“xxx@yyy.com,usersource:“$external”,角色:[{role:“readWrite”,db:“Maps”}]})6月24日星期二11:39:16.962无法添加用户:system.users条目必须具有“pwd”字段或“userSource”字段,但在src/mongo/shell/db.js:128处不能同时具有这两个字段。我尝试使用应用程序/xxx@yyy.com我甚至在安装了企业版mongodb-linux-x86_64-subscription-suse11-2.4.10.t之后也会遇到同样的错误gz(我是在搜索EnterpriseMongodb后从web上得到的)你有一个打字错误-区分大小写-这是userSource,而不是userSource