You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出RabbitMQ中所有用户的权限配置?

RabbitMQ一次性查询所有用户权限解决方案

原生rabbitmqctl没有提供直接查询所有用户权限的单独命令,你可以通过组合用户列表查询+循环实现,操作非常便捷:

Linux/macOS 环境快速实现

直接执行以下一行命令即可输出所有用户的权限,自带分隔符方便查看:

rabbitmqctl list_users --no-table-headers | awk '{print $1}' | xargs -I {} sh -c 'echo "用户 {} 权限:"; rabbitmqctl list_user_permissions {} --no-table-headers; echo "----------------------------------"'

命令逻辑说明:

  • 先通过rabbitmqctl list_users --no-table-headers获取全部用户列表,去掉冗余表头输出
  • 用awk提取第一列的纯用户名,过滤掉第二列的用户标签信息
  • 用xargs遍历每个用户名,逐个调用权限查询命令,同时输出分隔标识区分不同用户的结果

如果只需要纯数据输出不需要额外说明,可使用简化版命令:

rabbitmqctl list_users --no-table-headers | awk '{print $1}' | xargs -I {} rabbitmqctl list_user_permissions {}

Windows PowerShell 环境实现

Windows系统下可使用以下PowerShell命令实现同样效果:

(rabbitmqctl list_users --no-table-headers) -split "`n" | ForEach-Object { $user = $_.Split()[0]; Write-Host "用户 $user 权限:"; rabbitmqctl list_user_permissions $user --no-table-headers; Write-Host "----------------------------------" }

高版本RabbitMQ结构化输出(3.9+版本适用)

如果你的RabbitMQ版本≥3.9,可以添加--format json参数输出JSON格式的结构化结果,更适合后续程序处理:

rabbitmqctl list_users --no-table-headers --format json | jq -r '.[].user' | xargs -I {} sh -c 'echo "{}: $(rabbitmqctl list_user_permissions {} --format json)"'

注意事项

  • 所有命令都需要操作账号具备RabbitMQ管理员权限,普通账号执行会报错
  • 如果你使用Docker部署的RabbitMQ,需要在所有rabbitmqctl命令前添加docker exec <你的RabbitMQ容器名称>前缀,例如docker exec my-rabbitmq rabbitmqctl list_users

内容的提问来源于stack exchange,提问作者MoRe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:54:04