如何重置用户进行rabbitmq管理

Sup*_*iji 77 rabbitmq

使用rabbitmq,我们可以安装管理插件.然后我们http://localhost:55672/使用guest:guest 访问浏览器.问题是,我不能再登录,因为我更改了密码并为角色输入了空白.

有没有办法重置用户的rabbitmq管理?

Dan*_*roa 164

您可以rabbitmqctl使用以下命令访问用户管理:

add_user {username} {password}
Run Code Online (Sandbox Code Playgroud)

或者更优选地,可以编辑现有用户,或者为新用户设置权限:

set_permissions [-p vhostpath] {user} {conf} {write} {read}
Run Code Online (Sandbox Code Playgroud)

例如,使用以下命令:(即使在创建新用户时,如果您希望能够登录UI控制台以及您的程序能够在不面临任何权限问题的情况下工作,则执行这三个步骤非常重要)

rabbitmqctl add_user newadmin s0m3p4ssw0rd
rabbitmqctl set_user_tags newadmin administrator
rabbitmqctl set_permissions -p / newadmin ".*" ".*" ".*"
Run Code Online (Sandbox Code Playgroud)

...创建一个对默认/ vhost具有完全访问权限的新管理员用户.

您可以在RabbitMQ主页上找到所有这些内容,更具体地说,可以在此页面找到

  • 谢谢,我尝试这个设置权限:rabbitmqctl set_user_tags khad administrator (8认同)
  • @Superbiji 您应该考虑将此评论转换为答案。我知道它很旧,但这是对我有用的解决方案。 (2认同)
  • ```set_permissions -p/newadmin".*"".*"".*"```这个工作得很好!! 谢谢 (2认同)

小智 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"}
Run Code Online (Sandbox Code Playgroud)

  • 管理标签就是为我做的.谢谢! (2认同)

sam*_*ler 12

我发现最简单的方法是使用此命令重置RabbitMQ中任何用户的密码

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>
Run Code Online (Sandbox Code Playgroud)


小智 8

如果你的 docker 容器上有 RabbitMQ,你可以先

docker exec -it <YOUR_CONTAINER> /bin/bash
Run Code Online (Sandbox Code Playgroud)

然后你可以做

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>
Run Code Online (Sandbox Code Playgroud)

正如@samtoddler 指出的