Как сбросить пользователя для управления rabbitmq

84

Используя rabbitmq, мы можем установить плагин управления. Затем мы получаем доступ через браузер, http://localhost:55672/используя guest: guest. Проблема в том, что я больше не могу войти в систему, потому что я сменил пароль и ввел пустое поле для роли.

Есть ли способ сбросить пользователя для управления rabbitmq?

Супербиджи
источник

Ответы:

180

Вы можете получить доступ к управлению пользователями с rabbitmqctlпомощью команды:

add_user {username} {password}

или более предпочтительно отредактировать существующего пользователя или установить разрешения для нового пользователя с помощью:

set_permissions [-p vhostpath] {user} {conf} {write} {read}

Например, используйте следующие команды: (важно выполнить эти три шага даже при создании нового пользователя, если вы хотите иметь возможность войти в консоль пользовательского интерфейса и чтобы ваши программы работали без каких-либо проблем с разрешениями)

rabbitmqctl add_user newadmin s0m3p4ssw0rd
rabbitmqctl set_user_tags newadmin administrator
rabbitmqctl set_permissions -p / newadmin ".*" ".*" ".*"

... чтобы создать нового пользователя-администратора с полным доступом к / vhost по умолчанию.

Вы можете найти все это на домашней странице RabbitMQ , а точнее на этой странице

Даниэль Фигероа
источник
8
спасибо, я пытаюсь установить разрешение: rabbitmqctl set_user_tags администратор
khad
2
@Superbiji, вам следует подумать о преобразовании этого комментария в ответ. Я знаю, что он старый, но это решение помогло мне.
Alexn
3
set_permissions -p / newadmin ".*" ".*" ".*"это сработало отлично !! спасибо
ashim888
1
Вы должны войти в систему как root или использовать «sudo»
XIII
26

Самый простой способ, который я нашел, - использовать эту команду для сброса пароля для любого пользователя в RabbitMQ.

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>
самтоддлер
источник
23

Это специально для теста живучести, но может применяться и к другим API

rabbitmqctl add_vhost statuscheckvhost
rabbitmqctl add_user heartbeat alive
rabbitmqctl set_permissions -p statuscheckvhost heartbeat ".*" ".*" ".*"
rabbitmqctl set_user_tags heartbeat management

curl -i -u heartbeat:alive http://127.0.0.1:55672/api/aliveness-test/statuscheckvhost
HTTP/1.1 200 OK
Server: MochiWeb/1.1 WebMachine/1.9.0 (someone had painted it blue)
Date: Thu, 21 Feb 2013 22:20:10 GMT
Content-Type: application/json
Content-Length: 15
Cache-Control: no-cache
{"status":"ok"}
Мегхал Госалия
источник
0

Если у вас есть RabbitMQ в контейнере докеров, вы можете сначала

docker exec -it <YOUR_CONTAINER> /bin/bash

Тогда ты можешь сделать

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>

например, @samtoddler указал

Тьяго Кавальканти
источник