RabbitMQ用户管理

目录

一、RabbitMQ的角色

二、通过命令行管理用户

1、查询用户

2、创建用户

3、修改密码

4、删除用户

三、图形界面管理用户

四、问题处理


 

上一篇章介绍如何安装RabbitMQ并设置为windows的服务,有兴趣的可以点击此处查看,安装好的RabbitMQ提供了一个默认的guest账户,单独这一个账户是无法满足日常的管理需求,所以用户管理就显得非常有必要了。

一、RabbitMQ的角色

管理RabbitMQ之前,需要先了解一下它的角色:

RabbitMQ用户角色分为Administrator、Monitoring、Policymaker、Management、Impersonator、None共六种角色。

   (1) Administrator
        超级管理员,可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

(2)Monitoring
        监控者,可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)。

(3)Policymaker
        策略制定者,可登陆管理控制台(启用management plugin的情况下),同时可以对policy进行管理。但无法查看节点的相关信息。

(4)Management
        普通管理者,仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

(5)Impersonator
        模拟者,无法登录管理控制台。

(6)None
        其他用户,无法登陆管理控制台,通常就是普通的生产者和消费者。

二、通过命令行管理用户

1、查询用户

进入RabbitMQ安装目录的sbin目录下,打开DOS窗口,输入以下命令查看当前的用户信息:

rabbitmqctl.bat list_users

正常情况下会显示当前已创建的用户和该用户的角色信息: 

Listing users ...
user    tags
guest   [administrator]

2、创建用户

目前系统中有一个guest账户并且是administrator角色。我们通过rabbitmqctl.bat add_user username password命令添加一个用户

rabbitmqctl.bat add_user zhangsan 123
Adding user "zhangsan" ...
Done. Don't forget to grant the user permissions to some virtual hosts! See 'rab
bitmqctl help set_permissions' to learn more.

成功创建zhangsan用户,并且RabbitMQ给出的贴心提示信息,不要忘了授权,接下来给张三授权administrator :

rabbitmqctl.bat set_user_tags zhangsan administrator
Setting tags for user "zhangsan" to [administrator] ...

设置成功并再次执行rabbitmqctl.bat list_users查看用户信息:

rabbitmqctl.bat list_users
Listing users ...
user    tags
guest   [administrator]
zhangsan        [administrator]

当然,除了上面的administrator 还有 monitoring、policymaker、management等等,也可以给一个用户指定多个角色,rabbitmqctl.bat set_user_tags username tag1 tag2 ...

3、修改密码

修改密码通过rabbitmqctl change_password userName newPassword:

rabbitmqctl change_password zhangsan 456
Changing password for user "zhangsan" ...

4、删除用户

删除用户通过rabbitmqctl.bat delete_user username:

rabbitmqctl.bat delete_user zhangsan
Deleting user "zhangsan" ...

再次执行查看用户命令:

rabbitmqctl.bat list_users
Listing users ...
user    tags
guest   [administrator]

可以看到新建的zhangsan用户已经没有了。

三、图形界面管理用户

我们使用guest账号本地登录http://localhost:15672,然后点击Admin标签。通过Admin标签可以管理用户名密码,添加自己的管理员账户。

页面下方的Add a user 可以添加用户。点击用户列表中的Name,可以修改用户的信息。

四、问题处理

在执行rabbitmqctl.bat list_users命令时,出现了一下问题:

Error: unable to perform an operation on node 'rabbit@iZq1xjfetkzsflZ'. Please s
ee diagnostics information and suggestions below.

Most common reasons for this are:

 * Target node is unreachable (e.g. due to hostname resolution, TCP connection o
r firewall issues)
 * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang
 cookie not matching that of the server)
 * Target node is not running

In addition to the diagnostics info below:

 * See the CLI, clustering and networking guides on https://rabbitmq.com/documen
tation.html to learn more
 * Consult server logs on node rabbit@iZq1xjfetkzsflZ
 * If target node is configured to use long node names, don't forget to use --lo
ngnames with CLI tools

DIAGNOSTICS
===========

attempted to contact: [rabbit@iZq1xjfetkzsflZ]

rabbit@iZq1xjfetkzsflZ:
  * connected to epmd (port 4369) on iZq1xjfetkzsflZ
  * epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traff
ic
  * TCP connection succeeded but Erlang distribution failed
  * suggestion: check if the Erlang cookie is identical for all server nodes and
 CLI tools
  * suggestion: check if all server nodes and CLI tools use consistent hostnames
 when addressing each other
  * suggestion: check if inter-node connections may be configured to use TLS. If
 so, all nodes and CLI tools must do that
   * suggestion: see the CLI, clustering and networking guides on https://rabbit
mq.com/documentation.html to learn more


Current node details:
 * node name: 'rabbitmqcli-647-rabbit@iZq1xjfetkzsflZ'
 * effective user's home directory: c:/Users/Administrator
 * Erlang cookie hash: sLFfFVWlPbDnWtQQPa5KUg==

解决方案是将C:\Windows\system32\config\systemprofile中的.erlang.cookie文件,复制一份到错误提示中的地址,地址在上面错误信息的倒数第二行effective user's home directory,我这里是“ c:/Users/Administrator”,该路径下已经有了一个同名文件,覆盖就好了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值