Изменение пароля в MongoDB для существующего пользователя

У меня есть производственная среда, где мой mongoDB запущен и работает, и администраторы баз данных просят нас сменить пароль, который мы используем для аутентификации. Один из способов сделать это - снова запустить команду addUser с новым паролем, как описано в разделе " Смена пароля".

> db.auth("app_user", "somepassword")
db.addUser("app_user", "new password")

Это так же хорошо, как добавление нового пользователя.

Я понимаю, что мне нужно перезапустить mongod с опцией --auth, как только я добавляю нового пользователя, как описано в, но, поскольку это рабочая среда, и я не могу перезапустить свой сервер. Есть ли другой вариант? или если мой подход неверен, как сменить пароль в mongoDB

Ответ 3

Вы связались с вопросом о добавлении аутентификации в MongoDB, который включает запуск "mongod" с опцией --auth. Поскольку вы уже работаете с --auth, перезапуск в вашем сценарии не требуется.

Просто измените пароль пользователя, и вы будете готовы к работе.

Ответ 4

Если вы изменили параметры безопасности в файле конфигурации Mongo, вы не сможете изменить пароль. Для этого установите authorization в disabled:

Остановка mongod:

$ sudo service mongod stop

Откройте файл конфигурации Mongo (пути могут отличаться в вашей системе):

Linux

Путь к файлу конфигурации: "/etc/mongod.conf"

Окно

Путь к файлу конфигурации: "C:\Program Files\MongoDB\Server\3.6\mongod.cfg"

Найдите authorization и установите его на disabled:

security:
  authorization: enabled

измените на:

security:
  authorization: disabled

Теперь запустите Mongo службу:

$ sudo service mongod start

и сменить пароль из оболочки Mongo:

> use mydb
> db.updateUser("myUser", {pwd: "myNewPassword" })

Теперь вы можете установить authorization обратно в то, что было. Просто остановите службу Mongo, измените настройки и запустите сервис.