Einführung in Benutzer und Berechtigungen in mongoDB
Der Inhalt dieses Artikels ist eine Einführung in Benutzer und Berechtigungen in mongoDB. Er hat einen guten Referenzwert und ich hoffe, er kann Freunden in Not helfen.
Vorwort
Für Datenbanken sind Benutzer und Berechtigungen ein sehr wichtiger Teil, da sie Sicherheit beinhalten. Was sind also die Benutzer und Berechtigungen von mongoDB?
Anweisungen
Umgebungsanweisungen
Die in diesem Artikel verwendete MongoDB-Version ist 3.6 und das Betriebssystem ist Windows.
Weitere Anweisungen
Aus Platzgründen wird in diesem Artikel nicht der Prozess vom Herunterladen bis zur Installation der Datenbank vorgestellt. Im Internet gibt es viele Tutorials, denen Sie folgen können Lesen Sie diese Tutorials, um es zu installieren und auszuführen. Dieser Artikel konzentriert sich auf den 用户和权限
-Teil von mongoDB.
Server und Client
Für mongoDB ist es in Server und Client unterteilt.
Doppelklicken Sie im Installationsverzeichnis der Windows-Umgebung, um mongod.exe zu öffnen und den mongoDB-Dienst zu starten.
Wenn der Dienst gestartet ist, können Sie auf mongo.exe doppelklicken, um den Client zu öffnen und eine Verbindung zum mongoDB-Dienst herzustellen.
Autorisierungsmodus aktivieren
Wenn Sie nach der Installation von mongoDB den Dienst direkt mit mongod.exe starten, 默认是没有开启授权模式的
, wenn Ihr mongoDB den Autorisierungsmodus nicht aktiviert, benötigt niemand einen Benutzername und Passwort Sie können sich auch beim MongoDB-Server anmelden und mit Ihrer Datenbank machen, was Sie wollen, sogar direkt 删库跑路
. Denken Sie daher in einer Produktionsumgebung unbedingt daran, den Autorisierungsmodus zu aktivieren.
Wie aktiviere ich den Autorisierungsmodus?
Öffnen Sie cmd, geben Sie das bin-Verzeichnis des Installationsverzeichnisses ein und führen Sie den folgenden Befehl aus:
mongod --auth --port 27017 --dbpath /data/db
Nachdem Sie den Autorisierungsmodus aktiviert haben, öffnen Sie mongo.exe und führen Sie show dbs
unter der Admin-Datenbank aus. Zu diesem Zeitpunkt meldet die Datenbank einen Fehler und erinnert Sie daran, dass keine Autorisierung vorliegt. Wie folgt:
Benutzertyp
Die MongoDB-Datenbank ist grob in zwei Benutzertypen unterteilt, einer ist der Administratorbenutzer, der andere other ist ein normaler Benutzer.
Administrator
Wir erstellen einen Administratorbenutzer (userAdmin- oder userAdminAnyDatabase-Rolle) in der Admin-Datenbank. Der Administratorbenutzer kann normale Benutzer verwalten.
Starten Sie zunächst den mongoDB-Dienst mit 非授权模式
.
mongod --port 27017 --dbpath /data/db
Geben Sie dann die Admin-Datenbank ein und führen Sie den folgenden Befehl aus:
use admin db.createUser( { user: "larry", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
Wenn die Meldung „Benutzer erfolgreich hinzugefügt“ angezeigt wird, wird bewiesen, dass der Administratorbenutzer erfolgreich hinzugefügt wurde.
Normaler Benutzer
Wenn der Administratorbenutzer erfolgreich erstellt wurde, können wir diesen Administratorbenutzer verwenden, um einen normalen Benutzer für jede Datenbank zu erstellen.
Schließen Sie zunächst alle Mongo-Shell-Fenster oben.
Anschließend verwenden Sie 授权模式
, um den mongoDB-Dienst zu starten.
mongod --auth --port 27017 --dbpath /data/db
Öffnen Sie den mongo.exe-Client, geben Sie die Admin-Datenbank ein und melden Sie sich mit db.auth()
an.
Der erste Parameter ist der oben erstellte Administrator-Benutzername Larry und der zweite Parameter ist das Passwort des Administrator-Benutzers Larry.
Das Ergebnis gibt 1 zurück, was darauf hinweist, dass sich der Administrator Larry erfolgreich angemeldet hat.
Als nächstes erstellen Sie mit diesem Administrator ein normales Benutzer-Moddx für die photo_app-Datenbank und geben dessen Berechtigungen als readWrite an.
use photo_app db.createUser( { user: "moddx", pwd: "123456", roles: [{ role: "readWrite", db: "photo_app"}] } )
Benutzer anzeigen
Alle globalen Konten
Melden Sie sich zunächst als 管理员账户
bei der Admin-Datenbank an und führen Sie dann den folgenden Befehl aus:
db.system.users.find().pretty()
Konten unter der aktuellen Bibliothek
Alle globalen Konten anzeigen, nur Administratoren können sie anzeigen, und Konten in der aktuellen Bibliothek, normale Benutzer und Administratoren anzeigen Benutzer Alle können angezeigt werden. Der Befehl zum Anzeigen des Kontos unter der aktuellen Bibliothek lautet wie folgt:
show users
Benutzer löschen
Ein Administrator, der über Drop-Benutzerrechte verfügen muss. Das Konto eines Benutzers kann nur gelöscht werden. Sie müssen sich daher zum Betrieb mit einem Administratorkonto anmelden.
Der Befehl zum Löschen eines normalen Benutzers moddx lautet wie folgt:
db.dropUser("moddx", {w: "majority", wtimeout: 5000})
Berechtigungen widerrufen
Um die Berechtigungen eines Benutzers zu widerrufen, lautet der Befehl wie folgt:
db.revokeRolesFromUser( "moddx", [ { role: "readWrite", db: "photo_app" } ] )
Hinweis: Obwohl der obige Befehl moddx widerruft, verfügt der Benutzer über Lese- und Schreibberechtigungen in der photo_app-Datenbank. Der Benutzer wurde jedoch nicht gelöscht und kann sich weiterhin anmelden.
Berechtigungen erteilen
Der folgende Befehl erteilt dem Benutzer moddx Lese- und Schreibberechtigungen in photo_app und erteilt ihm gleichzeitig Leseberechtigungen in der Demodb-Datenbank
use photo_app db.grantRolesToUser( "moddx", [ "readWrite" , { role: "read", db: "demodb" } ], { w: "majority" , wtimeout: 4000 } )
Passwort ändern
Der folgende Befehl ändert das Passwort des Benutzers moddx in photo_app:
use photo_app db.changeUserPassword("moddx", "newpwd")
Zusammenfassung
In Bezug auf Benutzer und Berechtigungen sind dies die gängigen Shell-Betriebsbefehle Sie verwenden MongoDB aus Bequemlichkeitsgründen.
Verwandte Empfehlungen:
MongoDB Journey (2) Grundbetrieb (MongoDB Javascript Shell)
Das obige ist der detaillierte Inhalt vonEinführung in Benutzer und Berechtigungen in mongoDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Zu den Lösungen zur Behebung von Navicat-Ablaufproblemen gehören: Erneuern der Lizenz; Deaktivieren der automatischen Updates; Wenden Sie sich an den Navicat-Kundendienst.

Für Front-End-Entwickler hängt die Schwierigkeit, Node.js zu erlernen, von ihrer JavaScript-Grundlage, ihrer serverseitigen Programmiererfahrung, ihrer Vertrautheit mit der Befehlszeile und ihrem Lernstil ab. Die Lernkurve umfasst Module für Einsteiger und Fortgeschrittene, die sich auf grundlegende Konzepte, serverseitige Architektur, Datenbankintegration und asynchrone Programmierung konzentrieren. Insgesamt ist das Erlernen von Node.js für Entwickler, die über solide Kenntnisse in JavaScript verfügen und bereit sind, Zeit und Mühe zu investieren, nicht schwierig, aber für diejenigen, denen es an einschlägiger Erfahrung mangelt, müssen möglicherweise bestimmte Herausforderungen bewältigt werden.

Um mit Navicat eine Verbindung zu MongoDB herzustellen, müssen Sie: Navicat installieren. Eine MongoDB-Verbindung erstellen: a. Geben Sie den Verbindungsnamen, die Hostadresse und den Port ein. b. Geben Sie die Authentifizierungsinformationen ein (falls erforderlich). Überprüfen Sie die Verbindung Speichern Sie die Verbindung

Zu den am häufigsten verwendeten Modulen in Node.js gehören: Dateisystemmodul für Dateioperationen Netzwerkmodul für Netzwerkkommunikation Stream-Modul zur Verarbeitung von Datenströmen Datenbankmodul zur Interaktion mit Datenbanken Andere Hilfsmodule wie Verschlüsselung, Abfragezeichenfolgen, String-Analyse und HTTP-Framework

Bei Node.js-Anwendungen hängt die Auswahl einer Datenbank von den Anwendungsanforderungen ab. Die NoSQL-Datenbanken MongoDB bieten Flexibilität, Redis bietet hohe Parallelität, Cassandra verarbeitet Zeitreihendaten und Elasticsearch ist auf die Suche spezialisiert. Die SQL-Datenbank MySQL bietet eine hervorragende Leistung, PostgreSQL ist reich an Funktionen, SQLite ist leichtgewichtig und Oracle Database ist umfassend. Berücksichtigen Sie bei der Auswahl Datentypen, Abfragen, Leistung, Transaktionalität, Verfügbarkeit, Lizenzierung und Kosten.

Schritte zum Herstellen einer Verbindung zu einer Datenbank in Node.js: Installieren Sie das MySQL-, MongoDB- oder PostgreSQL-Paket. Erstellen Sie ein Datenbankverbindungsobjekt. Öffnen Sie eine Datenbankverbindung und behandeln Sie Verbindungsfehler.

Um eine Verbindung zu einer Datenbank in Node.js herzustellen, müssen Sie ein Datenbanksystem (relational oder nicht relational) auswählen und anschließend eine Verbindung mit für diesen Typ spezifischen Modulen herstellen. Zu den gängigen Modulen gehören MySQL (MySQL), PG (PostgreSQL), Mongodb (MongoDB) und Redis (Redis). Nachdem die Verbindung hergestellt wurde, können Sie Abfrageanweisungen zum Abrufen von Daten und Aktualisierungsanweisungen zum Ändern der Daten verwenden. Schließlich muss die Verbindung geschlossen werden, wenn alle Vorgänge abgeschlossen sind, um Ressourcen freizugeben. Verbessern Sie Leistung und Sicherheit, indem Sie diese Best Practices befolgen, z. B. die Verwendung von Verbindungspooling, parametrisierten Abfragen und eine ordnungsgemäße Fehlerbehandlung.

.NET 4.0 wird zum Erstellen einer Vielzahl von Anwendungen verwendet und bietet Anwendungsentwicklern umfangreiche Funktionen, darunter objektorientierte Programmierung, Flexibilität, leistungsstarke Architektur, Cloud-Computing-Integration, Leistungsoptimierung, umfangreiche Bibliotheken, Sicherheit, Skalierbarkeit, Datenzugriff und Mobilgeräte Entwicklungsunterstützung.
