1. 清除数据
- 关闭应用
rabbitmqctl stop_app
- 清除
rabbitmqctl reset
- 再次启动
rabbitmqctl start_app
注: 该操作会清除所有的配置
2. 虚拟主机管理
-
rabbitmqctl add_vhost <vhost>
-
rabbitmqctl delete_vhost <vhost>
-
rabbitmqctl list_vhosts [vhostinfoitem ...]
vhostinfoitem参数用于标识在结果中包含哪些虚拟主机信息项,结果中的列顺序将与参数的顺序匹配。vhostinfoitem可以从以下列表中获取任何值:
name 虚拟机的名称
tracing 虚拟机是否开启tracing
3. 用户管理
- 添加用户
rabbitmqctl add_user username password
- 删除用户
rabbitmqctl delete_user username
- 修改密码
rabbitmqctl change_password username newpassword
- 清除密码
rabbitmqctl clear_password username
- 用户校验
rabbitmqctl authenticate_user username password
验成功则返回success,否则出现错误信息。 - 设置用户标签
rabbitmqctl set_user_tags <username> <tag> ...
用户标签类型包括:- management :访问 management plugin;
- policymaker :访问 management plugin 和管理自己 vhosts 的策略和参数;
- monitoring :访问 management plugin 和查看所有配置和通道以及节点信息;
- administrator :一切权限;
- None :无配置
- 查询用户
rabbitmqctl list_users
权限
- 设置用户权限
rabbitmqctl set_permissions [-p <vhost>] <user> <conf> <write> <read>
- 使用
# vhost 被授权的虚拟机,默认是“/” rabbitmqctl add_vhost vh rabbitmqctl add_user test test rabbitmqctl set_user_tags test management # 使用户 test 具有‘vh’这个 virtual host 中所有资源的配置、写、读权限 rabbitmqctl set_permissions -p vh test ".*" ".*" ".*"
- 清除权限
clear_permissions [-p vhost] username
- 虚拟机权限查询
list_permissions [-p vhost]
- 用户权限查询
list_user_permissions username
topic 权限:
- 创建 topic 权限
语法:
set_topic_permissions [-p <vhost>] <username> <exchange> <write_pattern> <read_pattern>
用户 user1 在 vhost1 虚拟机上的 topicExchange 交换器具备如下权限:能够发布和消费以"log."开头的消息
rabbitmqctl set_topic_permissions -p vhost user1 topicExchange "^log\.*" "^log\.*"
- 清除topic权限
clear_topic_permissions [-p vhost] username [exchange]
vhost 虚拟机名称,默认是“/”
username 用户名
exchange topic交换器名称,不设置则为username用户授权的所有topic交换器
- 虚拟机的topic权限查询
list_topic_permissions [-p vhost]
- 用户的topic权限查询
list_user_topic_permissions username
参考: