Ich möchte für meine MongoDB-Instanz eine Benutzernamen- und Passwort-Authentifizierung einrichten, so dass bei jedem Fernzugriff nach dem Benutzernamen und dem Passwort gefragt wird. Ich habe das Tutorial auf der MongoDB-Website ausprobiert und folgendes getan:
use admin
db.addUser('theadmin', '12345');
db.auth('theadmin','12345');
Danach beendete ich das Programm und führte mongo erneut aus. Und ich brauche kein Passwort, um darauf zuzugreifen. Selbst wenn ich mich per Fernzugriff mit der Datenbank verbinde, werde ich nicht zur Eingabe von Benutzernamen und Passwort aufgefordert.
アップデイト Hier ist die Lösung, die ich letztendlich verwendet habe
1) At the mongo command line, set the administrator:
use admin;
db.addUser('admin','123456');
2) Shutdown the server and exit
db.shutdownServer();
exit
3) Restart mongod with --auth
$ sudo ./mongodb/bin/mongod --auth --dbpath /mnt/db/
4) Run mongo again in 2 ways:
i) run mongo first then login:
$ ./mongodb/bin/mongo localhost:27017
use admin
db.auth('admin','123456');
ii) run & login to mongo in command line.
$ ./mongodb/bin/mongo localhost:27017/admin -u admin -p 123456
Der Benutzername und das Passwort funktionieren auf die gleiche Weise für mongodump
y mongoexport
.