Hello all,
We upgraded some of our RabbitMQ instances from 3.8.0 and noticed something strange: user guest is created with administrator tags.
In versions lower than 3.8.5, the user guest is never created by default when management.load_definitions is used.
After 3.8.5, 3.9.x, 3.10.x the user guest is created with administrator tags.
Testing with the legacy load_definitions or definitions.local.path (no management plugin required) we can NOT reproduce this behaviour!
This is is not a major issue because it can be easily fixed by changing the default user and pass or by disabling loopback users, but it was strange to notice without any warnings in change log.
This is a strange behaviour or is FAD?
Our setup is something like this:
rabbit server with custom config to load custom definitions and rabbitmq_management plugin enabled
docker run -d --rm --name rabbit \
--hostname rabbit \
-p 15672:15672 \
-v "$(pwd)"/data:/var/lib/rabbitmq/mnesia \
-v "$(pwd)"/config/definitions.json:/etc/rabbitmq/definitions.json \
-v "$(pwd)"/config/enabled_plugins:/etc/rabbitmq/enabled_plugins \
-v "$(pwd)"/config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf \
rabbitmq:3.10.2-management
where definitions.json
{
"users": [
{
"name": "john",
"password": "john",
"tags": "administrator"
}
],
"vhosts": [
{ "name": "/" }
],
"permissions": [
{
"user": "john",
"vhost": "/",
"configure": ".*",
"write": ".*",
"read": "^.*"
}
],
"parameters": [],
"policies": [],
"queues": [
{
"name": "messages",
"vhost": "/",
"durable": false,
"auto_delete": false,
"arguments": {}
}
]
}
enabled_plugins
[rabbitmq_management].
rabbitmq.conf
loopback_users.guest = false (enabled for testing purposes)
listeners.tcp.default = 5672
management.listener.port = 15672
management.listener.ssl = false
management.load_definitions = /etc/rabbitmq/definitions.json
Testing with different versions:
[
{
"name": "john",
"password_hash": "kQPcMWd2FIyXyvnD8jKUwFKAS02Fbu1t3/71Ej6NEZ0msaSR",
"hashing_algorithm": "rabbit_password_hashing_sha256",
"tags": "administrator"
}
]
[
{
"name": "guest",
"password_hash": "B3cN/64Xi2Gs+A2pXmJn2X9Ly39tQfvad0ZTm/ws+CVY0K2m",
"hashing_algorithm": "rabbit_password_hashing_sha256",
"tags": [
"administrator"
],
"limits": {}
},
{
"name": "john",
"password_hash": "pqhWy/bafEXFCKeOslojSm5gS2M+yoBywGmY5f+68WZHsj/V",
"hashing_algorithm": "rabbit_password_hashing_sha256",
"tags": [
"administrator"
],
"limits": {}
}
]
Thank you!