侧边栏壁纸
博主头像
ProSayJ 博主等级

Talk is cheap. Show me the code.

  • 累计撰写 43 篇文章
  • 累计创建 16 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

CentOS 系统部署 RabbitMQ 后自动初始化用户

YangJian
2025-06-21 / 0 评论 / 0 点赞 / 22 阅读 / 0 字

下面是一个适用于 CentOS 系统部署 RabbitMQ 后自动初始化用户 的脚本,用于设置指定用户(如 root)及密码(如 xxx),并赋予管理员权限,避免主机名变动造成账号失效问题。


✅ 脚本功能

  • 设置节点名固定(防止 hostname 变动影响)

  • 创建管理员用户 root,密码 xxx

  • 授权该用户访问所有资源

  • 可反复执行,幂等


✅ 脚本内容:

init-rabbitmq-user.sh

#!/bin/bash

# === 配置项 ===
USERNAME="root"
PASSWORD="xxx"
VHOST="/"
NODE_NAME="rabbit@localhost"  # 修改为你希望的固定节点名,如 rabbit@my-server

# === 设置节点名称(防止主机名变动) ===
CONF_FILE="/etc/rabbitmq/rabbitmq-env.conf"

echo "配置 RabbitMQ 节点名称为 $NODE_NAME"
mkdir -p /etc/rabbitmq
echo "NODENAME=$NODE_NAME" > $CONF_FILE

# 重启 RabbitMQ 服务使配置生效
echo "重启 RabbitMQ 服务..."
systemctl restart rabbitmq-server

# 等待启动完成
sleep 5

# === 添加用户 ===
echo "添加用户 [$USERNAME] 并设置密码..."
rabbitmqctl add_user $USERNAME $PASSWORD 2>/dev/null

# === 设置权限 ===
echo "设置用户 [$USERNAME] 权限..."
rabbitmqctl set_user_tags $USERNAME administrator
rabbitmqctl set_permissions -p $VHOST $USERNAME ".*" ".*" ".*"

# === 显示当前用户列表 ===
echo "当前用户列表:"
rabbitmqctl list_users

echo "✅ RabbitMQ 初始化完成!登录:http://<服务器IP>:15672 用户名:$USERNAME 密码:$PASSWORD"


✅ 使用方式

# 1. 保存脚本
vi init-rabbitmq-user.sh

# 2. 授权执行
chmod +x init-rabbitmq-user.sh

# 3. 运行脚本(建议用 root)
sudo ./init-rabbitmq-user.sh


✅ 示例结果

配置 RabbitMQ 节点名称为 rabbit@localhost
重启 RabbitMQ 服务...
添加用户 [root] 并设置密码...
设置用户 [root] 权限...
当前用户列表:
root	[administrator]
✅ RabbitMQ 初始化完成!登录:http://<服务器IP>:15672 用户名:root 密码:xxx

0

评论区