Jak zresetować użytkownika do zarządzania Rabbitmq

84

Korzystając z rabbitmq, możemy zainstalować wtyczkę zarządzającą. Następnie uzyskujemy dostęp przez przeglądarkę za http://localhost:55672/pomocą gościa: gość. Problem w tym, że nie mogę się już zalogować, ponieważ zmieniłem hasło i wpisałem puste dla roli.

Czy istnieje sposób na zresetowanie użytkownika do zarządzania Rabbitmq?

Superbiji
źródło

Odpowiedzi:

180

Możesz uzyskać dostęp do zarządzania użytkownikami za rabbitmqctlpomocą polecenia:

add_user {username} {password}

a najlepiej 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 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.

Możesz znaleźć to wszystko na stronie domowej RabbitMQ , a dokładniej na tej stronie

Daniel Figueroa
źródło
8
dzięki, próbuję ustawić uprawnienia: rabbitmqctl set_user_tags administrator
khad
2
@Superbiji powinieneś rozważyć zamianę tego komentarza na odpowiedź. Wiem, że jest stary, ale to rozwiązanie zadziałało dla mnie.
alexn
3
set_permissions -p / newadmin ".*" ".*" ".*"to działało doskonale! dzięki
ashim888
1
Powinieneś być zalogowany jako root lub użyć "sudo"
XIII
26

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>
maluch
źródło
23

Dotyczy to szczególnie testu na żywotność, ale może mieć również zastosowanie do innych pszczół

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"}
Meghal Gosalia
źródło
0

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

docker exec -it <YOUR_CONTAINER> /bin/bash

Wtedy możesz to zrobić

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>

jak wskazał @samtoddler

Thiago Cavalcanti
źródło