Rabbitmq 관리를 위해 사용자를 재설정하는 방법


82

rabbitmq를 사용하여 관리 플러그인을 설치할 수 있습니다. 그런 다음 http://localhost:55672/guest : guest를 사용 하여 브라우저를 통해 액세스합니다 . 문제는 암호를 변경하고 역할을 공백으로 입력했기 때문에 더 이상 로그인 할 수 없다는 것입니다.

rabbitmq 관리를 위해 사용자를 재설정하는 방법이 있습니까?

답변:


176

rabbitmqctl다음 명령을 사용하여 사용자 관리에 액세스하고 사용할 수 있습니다 .

add_user {username} {password}

또는 더 바람직하게는 기존 사용자를 편집하거나 다음을 사용하여 새 사용자에 대한 권한을 설정할 수 있습니다.

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

예를 들어 다음 명령을 사용합니다. (UI 콘솔에 로그인하고 프로그램이 권한 문제없이 작동하도록하려면 새 사용자를 만들 때에도이 세 단계를 수행하는 것이 중요합니다)

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

... 기본 / 가상 호스트에 대한 전체 액세스 권한이있는 새 관리자를 만듭니다.

이 모든 것은 RabbitMQ 홈페이지 에서 찾을 수 있으며 ,보다 구체적 으로는이 페이지 에서 확인할 수 있습니다 .


8
감사합니다, 권한을 설정하기 위해 이것을 시도합니다 : rabbitmqctl set_user_tags khad 관리자
Superbiji

2
@Superbiji이 댓글을 답변으로 변환하는 것을 고려해야합니다. 나는 그것이 오래되었다는 것을 알고 있지만 이것이 나를 위해 일한 해결책이었습니다.
alexn apr

3
set_permissions -p / newadmin ".*" ".*" ".*"이것은 완벽하게 잘 작동했습니다!! 감사
ashim888

1
루트로 로그인하거나 "sudo"를 사용해야합니다
XIII

24

내가 찾은 가장 간단한 방법은이 명령을 사용하여 RabbitMQ의 모든 사용자에 대한 비밀번호를 재설정하는 것입니다.

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>

23

이것은 특히 aliveness 테스트 용이지만 다른 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"}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.