Несколько месяцев назад я включил защиту паролем для своей установки MongoDB. Сегодня я запустил клиент Mongo и забыл использовать свои данные для входа. Вместо того, чтобы отвергать почти все, что я пытаюсь сделать из оболочки, как должно, у меня был полный доступ ко всем базам данных и коллекциям. К счастью, на этом экземпляре запущено только несколько тестовых приложений, поэтому я быстро выключил экземпляр MongoD, пока не выяснил это.
Кто-нибудь когда-нибудь видел такое поведение раньше и знает, что происходит? Экземпляр MongoD работает на виртуальной машине Linux, размещенной в Azure. Единственное, о чем я могу думать, это то, что, возможно, Azure восстановила старую копию виртуальной машины, но я не получал никаких электронных писем на этот счет, и все остальное на сервере кажется правильным, включая новые процессы демона, которые я добавил после включения защита паролем на MongoD.
Если вы подключались с localhost и еще не добавили пользователя в базу данных администратора, вы, вероятно, прошли аутентификацию как администратор из-за исключение localhost. После добавления пользователя-администратора или при подключении с другого хоста вам необходимо будет предоставить действительные учетные данные для получения доступа.
Вы найдете инструкции, как отключить это (если вы используете последнюю версию) в связанной документации.
Единственный другой способ, который я могу придумать (помимо того, что кто-то / что-то получает доступ и что-то изменяет), - это перезапустить ваш экземпляр без включения аутентификации (по умолчанию он отключен). Вы должны проверить, какие варианты mongod
работает, и ваши пользователи-администраторы и пользователи базы данных фактически все еще присутствуют.