2014-04-14 8 views
5

aktivierten ich eine Störung erhalten versucht Mongo mit Genehmigung über den security.authorization Konfigurationsparameter aktiviert zu starten (siehe http://docs.mongodb.org/manual/reference/configuration-options/#security.authorization)MongoDB starten Fehler mit security.authorization

Auf mongod läuft ich

Error parsing INI config file: unknown option security.authorization 
try 'mongod --help' for more information 

Irgendeine Idee? Dank

Unterstützung Daten:

  • Mongo Version 2.6.0 (via Homebrew installiert)
  • OSX Mavericks 10.9.2

Startbefehl:

mongod -f /usr/local/etc/mongod.conf 

mongod .conf-Datei (funktioniert gut, wenn ich security.authorization auskommentiere):

# Store data in /usr/local/var/mongodb instead of the default /data/db 
dbpath = /usr/local/var/mongodb 

# Append logs to /usr/local/var/log/mongodb/mongo.log 
logpath = /usr/local/var/log/mongodb/mongo.log 
logappend = true 

# Only accept local connections 
bind_ip = 127.0.0.1 

# auth 
security.authorization = enabled 
#security.authenticationMechanisms = MONGODB-CR #error occurs with or without this 

ist kein Eintrag in der Datei mongo.log gemacht, wenn diese

Antwort

4

Hinweis auftritt: ich dies als einen Kommentar geschrieben haben, würde ich die Punkte aber noch nicht haben.

Fragen Sie sich einfach, ob das, was Sie erreichen möchten, ist Authentifizierung stattdessen? Wenn dies der Fall ist, alles, was Sie in mongodb.conf einstellen müssen, ist:

# auth 
auth = true # true or false. Whether or not authentication is required. 

- AKTUALISIERT:

Einige andere Schritte, die wichtig sind:

konfigurieren db Standort: Set in mongodb.conf als (Sie dies getan haben, aber sollte das Verzeichnis und Berechtigungen existieren überprüfen):

# Store data in /usr/local/var/mongodb instead of the default /data/db 
dbpath = /usr/local/var/mongodb 

# Append logs to /usr/local/var/log/mongodb/mongo.log 
logpath = /usr/local/var/log/mongodb/mongo.log 
logappend = true 

Dont fo rget, um sicherzustellen, dass das obige Verzeichnis /usr/local/var/mongodb und das Verzeichnis /usr/local/var/log/mongodb/ existiert. Das von Ihnen verwendete Installationsprogramm hat sie möglicherweise nicht erstellt.

Erstellen Sie ein Betriebssystembenutzer für mongodb: (Wenn man nicht bereits erstellt wurde - das ist, wie unter Linux, nicht sicher für osx) - als root:

adduser --system --no-create-home --disabled-login --disabled-password --group mongodb 

Add Berechtigungen auf Ordner an, wenn sie sind nicht bereits gesetzt:

chown mongodb:mongodb -R /usr/local/var/mongodb 

Um Setup-Datenbank Benutzerberechtigung/Privilegien:

Siehe die Befehlsreferenz hier: http://docs.mongodb.org/manual/reference/command/#database-commands

+0

Ich folge nur den Dokumenten :): die Mongodb Dokumentation zum Aktivieren von _authentication_ sagt Ihnen, dass Sie die Einstellung _authorization_ (http://docs.mongodb.org/manual/tutorial/enable-authentication/) festlegen. Es erwähnt keine Konfigurationseinstellungen namens ** auth **, die ich finden kann. Ich werde es versuchen und sehen, ob es funktioniert. –

+2

Ich muss sagen, dass ich persönlich die Dokumente verwirrend finde, ich habe meine Antwort mit ein bisschen mehr Informationen aktualisiert, von denen ich hoffe, dass sie für Sie nützlich sind. – jdt

1

MongoDB Server-Konfigurationsdateiformat von Version 2.6 geändert und noch altes Format funktioniert.

http://docs.mongodb.org/manual/reference/configuration-options/

in Version geändert 2.6: MongoDB führt ein YAML-basiertes Konfigurationsdateiformat. Das 2.4-Konfigurationsdateiformat bleibt aus Gründen der Abwärtskompatibilität erhalten.

Der Fehler auf den Grund zurückzuführen ist Ihre Konfigurationsdatei altes Format verwendet, und das Hinzufügen Parameter security.authorization = enabled neue format.You verwendet, kann das Problem durch mit alten Formateinstellungen bei http://docs.mongodb.org/v2.4/reference/configuration-options erwähnt beheben

auth = true

oder durch conf-Datei, um neue YAML-Format zu konvertieren.