Inhaltsverzeichnis
Vorwort
Anweisungen
Umgebungsanweisungen
Weitere Anweisungen
Server und Client
Autorisierungsmodus aktivieren
Benutzertyp
Administrator
Normaler Benutzer
Benutzer anzeigen
Alle globalen Konten
Konten unter der aktuellen Bibliothek
Benutzer löschen
Berechtigungen widerrufen
Berechtigungen erteilen
Passwort ändern
Zusammenfassung
Heim Web-Frontend js-Tutorial Einführung in Benutzer und Berechtigungen in mongoDB

Einführung in Benutzer und Berechtigungen in mongoDB

Jul 27, 2018 am 11:03 AM
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
Nach dem Login kopieren
Nach dem Login kopieren

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:

Einführung in Benutzer und Berechtigungen in mongoDB

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
Nach dem Login kopieren

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" } ]
  }
)
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

Öffnen Sie den mongo.exe-Client, geben Sie die Admin-Datenbank ein und melden Sie sich mit db.auth() an.

Einführung in Benutzer und Berechtigungen in mongoDB

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"}]
}
)
Nach dem Login kopieren

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()
Nach dem Login kopieren

Einführung in Benutzer und Berechtigungen in mongoDB

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
Nach dem Login kopieren

Einführung in Benutzer und Berechtigungen in mongoDB

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})
Nach dem Login kopieren

Berechtigungen widerrufen

Um die Berechtigungen eines Benutzers zu widerrufen, lautet der Befehl wie folgt:

db.revokeRolesFromUser(
    "moddx",
    [
      { role: "readWrite", db: "photo_app" }
    ]
)
Nach dem Login kopieren

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 }
)
Nach dem Login kopieren

Passwort ändern

Der folgende Befehl ändert das Passwort des Benutzers moddx in photo_app:

use photo_app
db.changeUserPassword("moddx", "newpwd")
Nach dem Login kopieren

Zusammenfassung

In Bezug auf Benutzer und Berechtigungen sind dies die gängigen Shell-Betriebsbefehle Sie verwenden MongoDB aus Bequemlichkeitsgründen.

Verwandte Empfehlungen:

[MongoDB] Mongodb und PHP PHP Mongodb aktualisieren PHP-Verbindung Mongodb PHP Mongodb nicht autorisieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was tun, wenn Navicat abläuft? Was tun, wenn Navicat abläuft? Apr 23, 2024 pm 12:12 PM

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.

Ist es schwierig, NodeJS im Frontend zu lernen? Ist es schwierig, NodeJS im Frontend zu lernen? Apr 21, 2024 am 04:57 AM

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.

So verbinden Sie Navicat mit Mongodb So verbinden Sie Navicat mit Mongodb Apr 24, 2024 am 11:27 AM

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

Was sind die am häufigsten verwendeten Module in NodeJS? Was sind die am häufigsten verwendeten Module in NodeJS? Apr 21, 2024 am 04:34 AM

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

Welche Datenbank eignet sich für NodeJS? Welche Datenbank eignet sich für NodeJS? Apr 21, 2024 am 05:06 AM

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.

So verbinden Sie NodeJS mit der Datenbank So verbinden Sie NodeJS mit der Datenbank Apr 21, 2024 am 05:07 AM

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.

Wie NodeJS die Datenbank implementiert Wie NodeJS die Datenbank implementiert Apr 21, 2024 am 05:42 AM

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.

Was nützt net4.0? Was nützt net4.0? May 10, 2024 am 01:09 AM

.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.

See all articles