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 に答える