Der Fehler war, dass ich eine userAdminAnyDatabase
verwendet habe Benutzer, der NICHT war im Adminbereich Datenbank (siehe diesen Hinweis). Also gibt es MUSS eine Datenbank namens admin sein auf Ihrem Server! Wie die Dokumentation für die "AnyDatabase"-Privilegien sagt:
Wenn Sie eine dieser Rollen zu einem Benutzerberechtigungsdokument außerhalb der Admin-Datenbank hinzufügen, hat die Berechtigung keine Auswirkung.
Sie müssen also:
-
Fügen Sie eine
userAdminAnyDatabase
hinzu an denadmin
db$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
-
Aktivieren Sie die Authentifizierung
auth = true setParameter = enableLocalhostAuthBypass=0
-
Verbinden Sie sich mit dem neuen
myadmin
Benutzer zu einer beliebigen Datenbank hinzufügen und weitere Benutzer hinzufügen:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
oder
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })