rabbitMQ教程(五)rabbitmq 指令 以及解决web管理界面无法使用guest用户登录

安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败。 翻看官方的release文档后,得知由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3.0版本引入的)。 虽然可以以比较猥琐的方式:将ebin目录下rabbit.app中loopback_users里的<<"guest">>删除,   并重启rabbitmq,可通过任意IP使用guest账号登陆管理控制台,但始终是违背了设计者的初衷,再加上以前对这一块了解也不多,因此有必要总结一下。 1. 用户管理 用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。 相应的命令 (1) 新增一个用户 rabbitmqctl  add_user  Username  Password (2) 删除一个用户 rabbitmqctl  delete_user  Username (3) 修改用户的密码 rabbitmqctl  change_password  Username  Newpassword (4) 查看当前用户列表 rabbitmqctl  list_users 2. 用户角色 按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。 (1) 超级管理员(administrator) 可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。 (2) 监控者(monitoring) 可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等) (3) 策略制定者(policymaker) 可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。 与administrator的对比,administrator能看到这些内容 (4) 普通管理者(management) 仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。 (5) 其他 无法登陆管理控制台,通常就是普通的生产者和消费者。 了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。 设置用户角色的命令为: rabbitmqctl  set_user_tags  User  Tag User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。 也可以给同一用户设置多个角色,例如 rabbitmqctl  set_user_tags  hncscwc  monitoring  policymaker 3. 用户权限 用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。 例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中"How permissions work"部分。 相关命令为: (1) 设置用户权限 rabbitmqctl  set_permissions  -p  VHostPath  User  ConfP  WriteP  ReadP (2) 查看(指定hostpath)所有用户的权限信息 rabbitmqctl  list_permissions  [-p  VHostPath] (3) 查看指定用户的权限信息 rabbitmqctl  list_user_permissions  User (4)  清除用户的权限信息 rabbitmqctl  clear_permissions  [-p VHostPath]  User ===============================

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏刺客博客

Linux下使用mysqldump进行数据库备份恢复

mysqldump -uroot -proot  --databases data >1.sql

3262
来自专栏大闲人柴毛毛

Linux软件安装(二)——RPM与YUM

Linux软件管理程序 上一篇文章介绍了使用源码编译的方式安装Linux软件,虽然操作比较简单,但仍有如下不足之处: 1. 源码需要经过编译成二进制文件后...

3556
来自专栏JavaEE

springboot项目打包&ngrok的使用

接触spring boot有一段时间了,但是一直未打包部署过spring boot项目,因为其内置tomcat,所以打包部署方式有所不同。还有ngrok,是一个...

642
来自专栏Porschev[钟慰]的专栏

Nodejs学习笔记(十三)— PM2

简介   PM2   pm2是一个内置负载均衡的node.js应用进程管理器(也支持Windows),其它的类似功能也有不少,但是感觉pm2功能更强,更值的推荐...

2357
来自专栏spring源码深度学习

linux 安装mysql+远程连接配置(史上最简单、最实用的干货)

通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

1561
来自专栏杂七杂八

win10安装Linux子系统

开启开发者模式 系统设置 -> 更新和安全 -> 针对开发人员 -> 选择开发人员模式 ? image.png 启动 Windows 10 的 Linux 子系...

4456
来自专栏Java帮帮-微信公众号-技术文章全总结

05.Git分支管理

05.Git分支管理 Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。...

3557
来自专栏用户2442861的专栏

局域网聊天工具(可发送图片与文件)

http://blog.csdn.net/sunshinestation/article/details/4437404

4351
来自专栏vue学习

42、MongoDB配置

(2)其它两个文件夹上章我们说过了,中间这个文件夹中我们新建一个mongo.conf用于配置mongodb;配置它的目的就是以后我们启动数据库不用再去"--db...

883
来自专栏IT可乐

Maven详解(七)------ 创建Web工程以及插件原理

1、什么是 Maven 插件?   上一篇博客我们讲了 Maven 的生命周期,我们知道 Maven 的核心是生命周期,生命周期指定了 Maven 命令执行的流...

2107

扫码关注云+社区