用户角色分类

none

通常就是普通的生产者和消费者,无法登录控制台,不能访问management plugin,通常就是普通的生产者和消费者

management

普通管理者,仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对policies进行管理。可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchangesbindings
查看和关闭自己的channelsconnections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动

policymaker

策略制定者,management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policiesparameters

monitoring

监控者,management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connectionschannels
查看节点级别的数据如clusteringmemory使用情况
查看真正的关于所有virtual hosts的全局的统计信息
同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

administrator

超级管理员,policymakermonitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections

RabbitMQ Control

使用Web管理界面可以实现RabbitMQ的大部分常用功能,但是有些功能WebUI是做不到的,如:开启/关闭RabbitMQ应用程序和集群的管理等。RabbitMQ Control是RabbitMQ的命令行管理工具,可以调用所有的RabbitMQ内置功能,主命令是rabbitmqctl

创建用户

rabbitmqctl add_user {用户名} {密码}

设置权限

rabbitmqctl set_user_tags {用户名} {权限}
例:创建一个超级用户

  1. rabbitmqctl add_user admin1 admin1
  2. rabbitmqctl set_user_tags admin1 administrator

查看用户列表

rabbitmqctl list_users

为用户赋权

  1. // 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
  2. rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' ' .*'

查看权限

rabbitmqctl list_user_permissions user1
rabbitmqctl list_permissions -p vhost1

清除权限

rabbitmqctl clear_permissions [-p VHostPath] User

删除用户

rabbitmqctl delete_user Username

修改用户密码

rabbitmqctl change_password Username Newpassword

激活RabbitMQ’s Management Plugin

找到安装rabbitMQ的路径,然后切换到sbin的文件夹,管理员运行Shell脚本
rabbitmq-pluginsenable rabbitmq_management

启动监控管理器

rabbitmq-plugins enable rabbitmq_management

关闭监控管理器

rabbitmq-plugins disable rabbitmq_management

启动rabbitmq

net start RabbitMQ

关闭rabbitmq

net stop RabbitMQ

查看所有的队列

rabbitmqctl list_queues

清除所有的队列

rabbitmqctl reset

查看已有用户及用户的角色

rabbitmqctl list_users

新增虚拟主机

rabbitmqctl add_vhost vhost_name

将新虚拟主机授权给新用户

rabbitmqctl set_permissions -p vhost_name username '.*' '.*' '.*'

设置用户权限

rabbitmqctl set_permissions -p VHostPath username ConfP WriteP ReadP

查看(指定hostpath)所有用户的权限信息

rabbitmqctl list_permissions [-p VHostPath]

查看指定用户的权限信息

rabbitmqctl list_user_permissions username

清除用户的权限信息

rabbitmqctl clear_permissions [-p VHostPath] username