enableLocalhostAuthBypass覆盖--auth?

时间:2013-08-07 18:13:59

标签: mongodb

在docs(link)中,对于enableLocalhostAuthBypass,它表示“指定0以禁用本地主机身份验证绕过。默认情况下已启用”。但是当我用--auth:

开始mongod
mongod --port 30xxx --dbpath=/home/dev/xxxx --auth

然后通过localhost连接:

mongo --host localhost --port 30xxx myDb

然后尝试做任何事情:

> show collections
Wed Aug  7 11:07:50.420 JavaScript execution failed: error: {
    "$err" : "not authorized for query on configuration.system.namespaces",
    "code" : 16550
Bzzt,没有去。我可以与-u -p联系并运行show collections

从文档来看,它真的听起来像是通过localhost连接默认会绕过auth。然而,这不是我所看到的。文件不清楚吗?我读错了吗?

1 个答案:

答案 0 :(得分:12)

enableLocalhostAuthBypass用于完全没有用户定义但在MongoDB上启用了auth并且希望能够完全连接的情况。它并不意味着完全关闭localhost的身份验证。

只要您定义了用户,enabledLocalhostAuthBypass将不执行任何操作,您必须先进行身份验证。

http://docs.mongodb.org/manual/tutorial/add-user-administrator/#authenticate-with-full-administrative-access-via-localhost

的文档中对此进行了描述