Ответ 1
Для v2.4
db.changeUserPassword("app_user", "new password")
https://groups.google.com/d/msg/mongodb-user/KkXbDCsCfOs/rk2_h-oSbAwJ https://jira.mongodb.org/browse/DOCS-1515
У меня есть производственная среда, где мой mongoDB запущен и работает, и администраторы баз данных просят нас сменить пароль, который мы используем для аутентификации. Один из способов сделать это - снова запустить команду addUser с новым паролем, как описано в разделе " Смена пароля".
> db.auth("app_user", "somepassword")
db.addUser("app_user", "new password")
Это так же хорошо, как добавление нового пользователя.
Я понимаю, что мне нужно перезапустить mongod с опцией --auth, как только я добавляю нового пользователя, как описано в, но, поскольку это рабочая среда, и я не могу перезапустить свой сервер. Есть ли другой вариант? или если мой подход неверен, как сменить пароль в mongoDB
Для v2.4
db.changeUserPassword("app_user", "new password")
https://groups.google.com/d/msg/mongodb-user/KkXbDCsCfOs/rk2_h-oSbAwJ https://jira.mongodb.org/browse/DOCS-1515
MongoDB> 3.X
db.updateUser("root", {pwd: "NewRootAdmin" })
Ссылка: https://docs.mongodb.com/manual/reference/method/db.updateUser/
Вы связались с вопросом о добавлении аутентификации в MongoDB, который включает запуск "mongod" с опцией --auth. Поскольку вы уже работаете с --auth, перезапуск в вашем сценарии не требуется.
Просто измените пароль пользователя, и вы будете готовы к работе.
Если вы изменили параметры безопасности в файле конфигурации 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
, измените настройки и запустите сервис.
Начиная с Mongodb 4.0, вы должны использовать db.updateUser()
, устанавливая ключ passwordDigestor
качестве "сервера", при обновлении пароля пользователя: