91

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

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

4

4 回答 4

193

您可以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 主页上找到所有这些,更具体地说,在此页面上

于 2013-02-05T15:11:15.813 回答
33

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

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>
于 2018-02-02T06:02:22.243 回答
24

这专门用于活力测试,但也可以适用于其他 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"}
于 2013-02-21T22:22:43.530 回答
3

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

docker exec -it <YOUR_CONTAINER> /bin/bash

然后你可以做

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>

比如@samtoddler 指出

于 2020-12-22T17:35:54.870 回答