如何为Rabbitmq管理重置用户


82

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

有什么办法可以重置用户进行Rabbitmq管理吗?

Answers:


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 2013年

2
@Superbiji,您应该考虑将此评论转换为答案。我知道它很旧,但这是对我有用的解决方案。
alexn

3
set_permissions -p / newadmin ".*" ".*" ".*"这工作得很好!谢谢
ashim888 '09 / 09/19

1
您应该以root用户身份登录或使用“ sudo”
XIII

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"}

23

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

rabbitmqctl change_password <USERNAME> <NEWPASSWORD>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.