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
userAdminAnyDatabasehinzu an denadmindb$ 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
myadminBenutzer 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"] })