MongoDB Anleitung - Authentication aktivieren und Benutzer anlegen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Registriere dich um viele Vorteile zu genießen! Weniger Werbung, bessere Kommunikation und vieles mehr!

  • Wenn Sie die Authentication in MongoDB aktivieren wollen, können Sie es nach dieser Anleitung aktivieren.
    Benutzer anlegen:
    Damit auch die Authentifizierung Sinn macht, erstellen Sie nun einen Benutzer mit Administrationrechten.
    Zuerst müssen Sie eine mongo Shell öffnen.
    Dies machen Sie mit folgenden Befehl:

    Quellcode

    1. mongo
    Nun müssen Sie die Datenbank "admin" nutzen.
    Dies machen Sie mit folgenden Befehl in der Mongo-Shell:

    Quellcode

    1. use admin
    Jetzt müssen Sie den Benutzer anlegen, mit Admin-Rechten.
    Dazu nutzen Sie folgenden Befehl in der Mongo-Shell:

    Quellcode

    1. db.createUser(
    2. {
    3. user: "TomS",
    4. pwd: "123456",
    5. roles: [ { role: "dbAdminAnyDatabase", db: "admin" },
    6. { role: "readWriteAnyDatabase", db: "admin" },
    7. { role: "userAdminAnyDatabase", db: "admin" } ]
    8. }
    9. )
    Den Benutzernamen (TomS in meinem Fall), können Sie natürlich anders nennen.
    Das Passwort (123456 in meinem Fall), sollten Sie natürlich anders nennen, da dies NICHT Sicher ist!

    Wenn Sie alles richtig gemacht haben, sollte dann folgendes kommen in der Mongo-Shell:

    Quellcode

    1. Successfully added user:
    Wenn Sie einen Benutzer anlegen wollen, der nur auf eine Datenbank readWrite besitzt, müssen Sie zuerst die Datenbank wechseln/erstellen. Dies können Sie mit dem Mongo-Shell Befehl use meineDatenbank.
    Sobald Sie die Datenbank gewechselt haben, können Sie den Benutzer anlegen in der Mongo-Shell mit folgendem Befehl:


    Quellcode

    1. db.createUser(
    2. {
    3. user: "TomS",
    4. pwd: "123456",
    5. roles: [ { role: "readWrite", db: "meineDatenbank" } ]
    6. }
    7. )

    Jetzt können Sie die Mongo-Shell beenden mit folgendem Befehl in der Mongo-Shell:

    Quellcode

    1. exit
    Dienst stoppen

    Als nächstes müssen Sie den MongoDB-Server stoppen, damit auch keine Fehler auftreten.

    Quellcode

    1. service mongod stop
    Der Dienst-Name kann je nach Installation abweichen.

    Authentication in der Konfiguration aktivieren

    Öffnen Sie nun ihren Editor, in ihrer SSH2 Verbindung.
    Ich nutze in diesem Fall nano.
    vi kann aber auch genutzt werden.
    Um die Konfiguration zu editieren, nutzen Sie folgenden Befehl:

    Quellcode

    1. nano /etc/mongod.conf
    Nun müssen Sie das # vor "security" entfernen.
    Dies sollte dann wie folgt aussehen:

    Quellcode

    1. security:
    Jetzt müssen Sie noch die Authorization, zur security hinzufügen.
    Sie machen unter security einfach 2 Leerzeichen und setzen authorization auf enabled.
    Dies sollte dann wie folgt aussehen:

    Quellcode

    1. security:
    2. authorization: enabled
    Dann können Sie die Konfiguration speichern.
    Bei nano wird die Konfiguration mit folgender Tastenkombination gespeichert:

    Quellcode

    1. STRG + O + ENTER
    Dann können sie den Editor verlassen.
    Bei nano wird der Editor mit folgender Tastenkombination verlassen:

    Quellcode

    1. STRG + X

    Dienst starten

    Als nächstes müssen Sie den MongoDB-Server wieder starten, damit auch der MongoDB-Server wieder nutzbar ist:

    Quellcode

    1. service mongod start
    Der Dienst-Name kann je nach Installation abweichen.

    Nun können Sie sich mit dem Benutzernamen und Passwort, mit z.B. RoboMongo anmelden.

    330 mal gelesen

Kommentare 7

  • MichiVIP -

    Ich fände es gut, wenn du noch eine Quelle hinzufügen könntest, woher du die Informationen hast. Außerdem wäre ein Verweis auf eine Liste auf der alle Roles stehen nützlich, da sicherlich nicht jeder seinem Nutzer vollen read write modify access geben möchte.

    • TomS -

      Quelle: Gehirn von @TomS (Learning by Doing)
      Das mit den Roles ist mir bekannt. Werde ich bald noch ergänzen.

    • MichiVIP -

      Naja irgendwoher sollte dein Wissen aus deinem Gehirn kommen außer du hast den Command aus der Mongo-Shell gebruteforced...

    • TomS -

      So die Ergänzung wurde getätigt mit den Benutzern nach 2 Monaten :D

  • Letsplaybar -

    damit der Nutzer auf alle Datenbanken voll zugreifen kann braucht man dann aber noch "dbAdminAnyDatabase" und "readWriteAnyDatabase". alleine mit dem Recht "userAdminAnyDatabase" kann man sich zwar anmelden aber nichts bearbeiten bzw lesen.

  • Semikolon -

    Füge doch einfach nochmal eine Liste mit den Benötigten Programmen auf Seite des SSH Clients hinzu :D inkl. Links