rabbitmq消息队列用户和权限管理及问题 Dial: Exception (403) Reason: "username or password not allowed"

RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。RabbitMQ可以,多个程序同时使用RabbitMQ ,但是必须队列名称不一样。采用erlang语言,属于爱立信公司开发的。

 

rabbitmq用户及权限管理:  用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

新增用户      rabbitmqctl  add_user  Username  Password

删除用户      rabbitmqctl  delete_user  Username

修改用户的密码     rabbitmqctl  change_password  Username  Newpassword

为用户分配角色     rabbitmqctl set_user_tags username administrator   #Tags 可以是:administrator 管理员,   monitoring 监控 , management 管理

查看当前用户列表  rabbitmqctl  list_users

查看当前虚拟主机  rabbitmqctl list_vhosts

查看用户权限    rabbitmqctl list_user_permissions  Username

设置用户访问权限  rabbitmqctl set_permissions -p vhostname username ".*" ".*" ".*"  ##后边三个.*分别代表:配置权限、写权限、读权限     “/”是rabbitmq默认的虚拟机,默认连接

清除用户权限    rabbitmqctl clear_permissions Username

virtual_host管理

新建virtual_host: rabbitmqctl add_vhost xxx

撤销virtual_host: rabbitmqctl delete_vhost xxx

查看列表:rabbitmqctl list_vhosts

 队列管理

查看当前队列信息:rabbitmqctl list_queues
清除所有队列:rabbitmqctl reset
 
[root@local ~]# rabbitmqctl add_user admin passwd   ###添加用户
Creating user "admin" ...
...done.
[root@local ~]# rabbitmqctl change_password  admin pswd1234   ###修改用户密码
Changing password for user "admin" ...
...done.
[root@local ~]# rabbitmqctl set_user_tags   admin  management   ###分配用户角色
Setting tags for user "admin" to [management] ...
...done.
[root@local ~]# rabbitmqctl list_users       ###用户列表
Listing users ...
admin    [management]
guest    [administrator]
ningnan    [administrator]
...done.
[root@local ~]# rabbitmqctl delete_user admin       ###删除用户
Deleting user "admin" ...
...done.
用户管理命令举栗
[root@local ~]# rabbitmqctl  list_user_permissions  guest
Listing permissions for user "guest" ...
/    .*    .*    .*
...done.
[root@local ~]# rabbitmqctl set_permissions -p / ningnan ".*" ".*" ".*"
Setting permissions for user "ningnan" in vhost "/" ...
...done.
[root@local ~]# rabbitmqctl  list_user_permissions  ningnan
Listing permissions for user "ningnan" ...
/    .*    .*    .*
...done.
[root@local ~]# rabbitmqctl  clear_permissions  ningnan  ##清除用户权限
Clearing permissions for user "ningnan" in vhost "/" ...
...done.
[root@local ~]# rabbitmqctl  list_user_permissions  ningnan
Listing permissions for user "ningnan" ...
...done.
权限管理命令举栗

 

遇见个调用问题   Dial: Exception (403) Reason: "username or password not allowed"

[root@local service_hcloud]# MQ Receive Statistics Version 1.0
Initiate log ...
init read config file ...
QueueName : STATI
Host : 192.168.0.3
userName : guest
PassWord : bs******
2019/03/18 11:26:28 dialing "amqp://192.168.0.3:5672/"
2019/03/18 11:26:31 Dial: Exception (403) Reason: "username or password not allowed"
2019/03/18 11:26:31 running forever

发现是因为服务配置文件写的有问题. 如图:

 

 

 

posted @ 2019-03-19 11:12  mingetty  阅读(1821)  评论(0编辑  收藏  举报