在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。然而,这不是我所看到的。文件不清楚吗?我读错了吗?
答案 0 :(得分:12)
enableLocalhostAuthBypass
用于完全没有用户定义但在MongoDB上启用了auth并且不希望能够完全连接的情况。它并不意味着完全关闭localhost的身份验证。
只要您定义了用户,enabledLocalhostAuthBypass
将不执行任何操作,您必须先进行身份验证。