Jak zresetować użytkownika do zarządzania rabbitmq

Używając rabbitmq, możemy zainstalować wtyczkę do zarządzania. Następnie uzyskujemy dostęp przez przeglądarkę używając http://localhost:55672/ używając Guest:guest. Problem w tym, że nie mogę się już zalogować, ponieważ zmieniłem hasło i wpisałem puste dla roli.

Czy Jest jakiś sposób na zresetowanie użytkownika do zarządzania rabbitmq?

 84
Author: CloudyMarble, 2013-02-05

4 answers

Możesz uzyskać dostęp do zarządzania użytkownikami za pomocą rabbitmqctl i użyć polecenia:

add_user {username} {password}

Lub bardziej korzystnie może edytować istniejącego użytkownika lub ustawić uprawnienia dla nowego Użytkownika za pomocą:

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

Na przykład użyj następujących poleceń: (ważne jest, aby wykonać te trzy kroki nawet podczas tworzenia nowego użytkownika, jeśli chcesz mieć możliwość zalogowania się do konsoli interfejsu użytkownika i aby Twoje programy działały bez problemów z uprawnieniami)

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

...Aby utworzyć nowego użytkownika administratora z pełnym dostępem do domyślnego / vhost.

To wszystko znajdziesz na stronie głównej RabbitMQ, a dokładniej na tej stronie
 181
Author: Daniel Figueroa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-17 11:38:28

Najprostszym sposobem, jaki znalazłem, jest użycie tego polecenia do zresetowania hasła dla dowolnego użytkownika w RabbitMQ

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>
 26
Author: samtoddler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-02 06:02:22

To jest specjalnie dla testu aliveness, ale może mieć zastosowanie również do innych 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"}
 23
Author: Meghal Gosalia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-21 22:22:43

Jeśli masz RabbitMQ na kontenerze docker, możesz najpierw

docker exec -it <YOUR_CONTAINER> /bin/bash

Then you can do

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>

Np. @samtoddler wskazał

 0
Author: Thiago Cavalcanti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-12-22 17:35:54