У меня есть новый сервер mongodb (2.6.0) на моей машине, и я начал экземпляр mongod со следующим конфигурационным файлом:
dbpath = c:\mongo\data\db
port = 27017
logpath = c:\mongo\data\logs\mongo.log
auth = true
Позже я подключился к этому экземпляру mongod через оболочку mongo и создал пользователя admin:
use admin
db.createUser(
{
user: "tugberk",
pwd: "12345678",
roles:
[
{
role: "userAdminAnyDatabase",
db: "admin"
}
]
}
)
Затем я вышел из оболочки и снова подключился к следующей команде:
mongo --host localhost --port 27017 -u tugberk -p 12345678 --authenticationDatabase admin
Затем я создал пользователя с правами root:
use admin
db.createUser(
{
user: "tugberkRoot",
pwd: "12345678",
roles: [ "root" ]
}
)
Последний шаг здесь не нужен, но анонимный доступ теперь должен быть полностью отключен. Тем не менее, я все еще могу подключиться к нему анонимно через оболочку mongo (даже если у меня нет доступа к чему-либо):
Что делать, чтобы предотвратить анонимное соединение?