Rabbitmq yönetimi için kullanıcı nasıl sıfırlanır


84

Rabbitmq kullanarak yönetim eklentisi kurabiliriz. Ardından http://localhost:55672/guest: guest'i kullanarak tarayıcı üzerinden erişiyoruz . Sorun şu ki, şifreyi değiştirdiğim ve rol için boş girdiğim için artık giriş yapamıyorum.

Rabbitmq yönetimi için kullanıcıyı sıfırlamanın bir yolu var mı?

Yanıtlar:


180

Kullanıcı yönetimine rabbitmqctlşu komutu kullanarak erişebilir ve şu komutu kullanabilirsiniz:

add_user {username} {password}

veya daha tercihen mevcut bir kullanıcıyı düzenleyebilir veya aşağıdakilerle yeni kullanıcı için izinleri ayarlayabilirsiniz:

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

Örneğin aşağıdaki komutları kullanın: (UI konsolunda oturum açabilmek ve programlarınızın herhangi bir izin sorunuyla karşılaşmadan çalışması için yeni bir kullanıcı oluştururken bile bu üç adımı gerçekleştirmek önemlidir)

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

... varsayılan / vhost'a tam erişimi olan yeni bir yönetici kullanıcı oluşturmak için.

Tüm bunları RabbitMQ ana sayfasında ve daha spesifik olarak bu sayfada bulabilirsiniz.


8
teşekkürler, izin ayarlamak için bunu deniyorum: rabbitmqctl set_user_tags khad admin
Superbiji

2
@Superbiji, bu yorumu bir cevaba dönüştürmeyi düşünmelisiniz. Eski olduğunu biliyorum ama benim için işe yarayan çözüm buydu.
alexn

3
set_permissions -p / newadmin ".*" ".*" ".*"bu mükemmel çalıştı !! teşekkürler
ashim888

1
Root olarak oturum açmalı veya "sudo" kullanmalısınız
XIII

26

Bulduğum en basit yol, RabbitMQ'daki herhangi bir kullanıcının şifresini sıfırlamak için bu komutu kullanmaktır.

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>

23

Bu, özellikle canlılık testi içindir, ancak diğer apiler için de geçerli olabilir

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

Bir liman konteynerinde RabbitMQ'nuz varsa, önce şunları yapabilirsiniz:

docker exec -it <YOUR_CONTAINER> /bin/bash

O zaman yapabilirsin

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>

@samtoddler gibi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.