2017-10-25 2 views
0

Mein Mongo Shell gibt mir diesen Fehler, wenn ich show dbs Befehl verwende.MongoDB: Nicht autorisiert auf Admin, um Befehl auszuführen

not authorized on admin to execute command

Ich habe versucht, einen Benutzer zu erstellen mit

db.createUser(
    { 
    user: "siteUserAdmin", 
    pwd: "password", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] 
    } 
) 

als auf https://docs.mongodb.com/v2.6/tutorial/add-user-administrator/

Aber es gibt mir immer noch den gleichen Fehler:

Could not add user: not authorized on admin to execute command.

ich Ubuntu bin mit 16,04 und mongoDB Version ist 3.4.9

Antwort

2

Ich denke, Sie können die Rolle als root für Ubuntu verwenden. Versuchen Sie die folgende Abfrage.

use admin 
db.createUser(
    { 
    user: "admin", 
    pwd: "password", 
    roles: [ { role: "root", db: "admin" } ] 
    } 
); 
exit; 

können Sie geben Leseschreibberechtigung für Benutzer als auch

use admin 

db.grantRolesToUser("admin",["readWrite"]) 

EDIT

Da die oben funktionierten nicht versuchen, die Instanz mit auth zu beginnen, wie unten

  1. Stoppen Sie die Mongod-Instanz
  2. die Instanz starten mit $ mongod --auth
  3. Jetzt Mongo Shell starten und erstellen Benutzer
use admin 
    db.createUser(
      { 
      user: "admin", 
      pwd: "password", 
      roles: [ { role: "root", db: "admin" } ] 
      } 
       ); 
      exit; 
  1. Jetzt Erlaubnis

    db.auth("admin", "password") 
    db.grantRolesToUser("password", [ { role: "readWrite", db: "admin" } ]) 
    
  2. Jetzt show users überprüfen geben

+0

Versuchte das. Es gibt mir immer noch den gleichen Fehler. – DragonBorn

+0

@SLASH welcher Fehler Sie genau nach der Ausführung mit root bekommen –

+0

Ich habe diesen Fehler: ** konnte Benutzer nicht hinzufügen: nicht autorisiert auf Admin Befehl ausführen ** – DragonBorn

Verwandte Themen