MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:Legen Sie Benutzer/Passwort für den Zugriff auf die Datenbank fest

In Ihrem Kommentar erwähnen Sie, dass Sie mViewer verwenden. Version 0.9.1 von mViewer unterstützt keine Authentifizierung. Gemäß dieser Ausgabe Auf dem mViewer GitHub wird dies in Version 0.9.2 behoben, die für die Veröffentlichung im Oktober geplant war.

Bevor Sie den Knoten mit der Authentifizierung starten, melden Sie sich am Knoten an und fügen Sie einen Benutzer hinzu. Starten Sie dann den Knoten mit --auth und verbinden Sie sich ohne mViewer mit der Shell.

An diesem Punkt können Sie sich mit der Admin-Datenbank verbinden und Ihren Admin-Benutzer authentifizieren:

use admin
db.auth('root', 'root')

Da Sie einen Admin-Benutzer einrichten, der Zugriff auf alle Datenbanken hat, müssen Sie sich bei der Admin-Datenbank authentifizieren. Sobald Sie dies getan haben, haben Sie Zugriff auf alle Datenbanken. Sie können auch neue Benutzer für jede Datenbank erstellen oder neue Nur-Lese-Benutzer für alle Datenbanken erstellen.

Wenn Sie einen neuen Benutzer erstellen, der nur Zugriff auf eine Datenbank hat, muss dieser Benutzer use verwenden diese Datenbank und db.auth(name, pass) dagegen.

Wenn Sie einen neuen Benutzer erstellen, der nur Lesezugriff auf alle Datenbanken hat, würde er use admin verwenden und dann db.auth(name, pass) nur Lesezugriff auf alle Datenbanken zu erhalten

Weitere Informationen zum Einrichten der Authentifizierung finden Sie hier und weitere Informationen zum Einrichten von Benutzern hier

Hinweis:Wenn Sie einen Knoten ohne starten --auth dann ist keine Authentifizierung aktiviert. Das bedeutet, dass Sie sich mit der Shell und db.auth('root','root') verbinden können aber es wird nichts tun, was den Zugriff betrifft. MongoDB verweigert den Zugriff auf die Datenbanken nicht ohne --auth Befehlszeilenoption (--keyFile in Sharding-Setups oder Replica-Sets)