5

在文档(链接)中,它为 enableLocalhostAuthBypass 显示“指定 0 以禁用 localhost 身份验证绕过。默认情况下启用”。但是当我从mongod--auth 开始时:

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 连接会默认绕过身份验证。然而,这不是我所看到的。文档不清楚吗?我读错了吗?

4

1 回答 1

14

enableLocalhostAuthBypass用于根本没有定义用户但在 MongoDB 上启用了身份验证并且您根本不想连接的情况。这并不意味着完全关闭 localhost 的身份验证。

一旦您定义了用户,那么enabledLocalhostAuthBypass将什么也不做,您必须先进行身份验证。

它在以下文档中进行了描述:http: //docs.mongodb.org/manual/tutorial/add-user-administrator/#authenticate-with-full-administrative-access-via-localhost

于 2013-08-08T09:44:37.473 回答