RabbitMQ 常用命令

# 查看当前所有用户
[root@VMTest ~]# rabbitmqctl list_users# 查看默认guest用户的权限
[root@VMTest ~]# rabbitmqctl list_user_permissions guest# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
[root@VMTest ~]# rabbitmqctl delete_user guest# 添加新用户
[root@VMTest ~]# rabbitmqctl add_user username password
[root@VMTest ~]# rabbitmqctl add_user guest 123abc# 修改密码
[root@VMTest ~]# rabbitmqctl change_password Username 'Newpassword'
[root@VMTest ~]# rabbitmqctl change_password guest '123abc'# 设置用户tag
[root@VMTest ~]# rabbitmqctl set_user_tags username administrator
#例如:
[root@VMTest ~]# rabbitmqctl set_user_tags guest administrator# 赋予用户默认vhost的全部操作权限
[root@VMTest ~]# rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
#例如:
[root@VMTest ~]# rabbitmqctl set_permissions -p / guest".*" ".*" ".*"# 查看用户的权限
[root@VMTest ~]# rabbitmqctl list_user_permissions username
#例如:
[root@VMTest ~]# rabbitmqctl list_user_permissions guest

rabbitmq用户角色及权限控制

1.RabbitMQ的用户角色分类:none、management、policymaker、monitoring、administrator2.RabbitMQ各类角色描述:a. none不能访问 management pluginb. management用户可以通过AMQP做的任何事外加:列出自己可以通过AMQP登入的virtual hosts  查看自己的virtual hosts中的queues, exchanges 和 bindings查看和关闭自己的channels 和 connections查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。c. policymaker management可以做的任何事外加:查看、创建和删除自己的virtual hosts所属的policies和parametersd. monitoring  management可以做的任何事外加:列出所有virtual hosts,包括他们不能登录的virtual hosts查看其他用户的connections和channels查看节点级别的数据如clustering和memory使用情况查看真正的关于所有virtual hosts的全局的统计信息e. administrator   policymaker和monitoring可以做的任何事外加:创建和删除virtual hosts查看、创建和删除users查看创建和删除permissions关闭其他用户的connections

创建用户并设置角色

#创建管理员用户,负责整个MQ的运维:
[root@VMTest ~]# rabbitmqctl add_user user_admin passwd_admin  
#赋予其administrator角色:
[root@VMTest ~]# rabbitmqctl set_user_tags user_admin administrator  #创建RabbitMQ监控用户,负责整个MQ的监控:
[root@VMTest ~]# rabbitmqctl add_user user_monitoring passwd_monitor  
#赋予其monitoring角色:
[root@VMTest ~]# rabbitmqctl set_user_tags user_monitoring monitoring  #创建某个项目的专用用户,只能访问项目自己的 virtual hosts
[root@VMTest ~]# rabbitmqctl add_user user_proj passwd_proj  
#赋予其monitoring角色:
[root@VMTest ~]# rabbitmqctl set_user_tags user_proj management  #创建和赋角色完成后查看并确认:
[root@VMTest ~]# rabbitmqctl list_users 

权限说明1:

默认virtual host:"/"
默认用户:guest 
guest具有"/"上的全部权限,仅能有localhost访问RabbitMQ包括Plugin,建议删除或更改密码。可通过将配置文件中loopback_users置空来取消其本地访问的限制:
[{rabbit, [{loopback_users, []}]}]

权限说明2

#用户仅能对其所能访问的virtual hosts中的资源进行操作。
#这里的资源指的是virtual hosts中的exchanges、queues等, 操作包括对资源进行配置、写、读。#配置权限可创建、删除、资源并修改资源的行为, 写权限可向资源发送消息, 读权限从资源获取消息。
#比如:
#1. exchange和queue的declare与delete分别需要exchange和queue上的配置权限
#2. exchange的bind与unbind需要exchange的读写权限
#3. queue的bind与unbind需要queue写权限exchange的读权限
#4. 发消息(publish)需exchange的写权限
#5. 获取或清除(get、consume、purge)消息需queue的读权限#6. 对何种资源具有配置、写、读的权限通过正则表达式来匹配, 具体命令如下:[root@VMTest ~]# set_permissions [-p <vhostpath>] <user> <conf> <write> <read>#其中, <conf> <write> <read>的位置分别用正则表达式来匹配特定的资源, #如'^(amq\.gen.*|amq\.default)$'可以匹配server生成的和默认的exchange, '^$'不匹配任何资源#需要注意的是RabbitMQ会缓存每个connection或channel的权限验证结果、
#因此权限发生变化后需要重连才能生效。

权限的赋权和查看:

#为用户赋权:
[root@VMTest ~]# rabbitmqctl  set_permissions -p /vhost1  user_admin '.*' '.*' '.*'  
#该命令使用户user_admin具有/vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源#查看权限:
[root@VMTest ~]# rabbitmqctl list_user_permissions user_admin  
Listing permissions for user "user_admin" ...  
/vhost1<span style="white-space:pre"> </span>.*<span style="white-space:pre"> 
</span>.*<span style="white-space:pre"> </span>.*  [root@VMTest ~]# rabbitmqctl list_permissions -p /vhost1  
Listing permissions in vhost "/vhost1" ...  
user_admin<span style="white-space:pre">  </span>.*<span style="white-space:pre"> 
</span>.*<span style="white-space:pre"> </span>.* 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何基于阿里云搭建适合初创企业的轻量级架构?

----基于阿里云搭建的适合初创企业的轻量级架构 前言 在项目的初期往往存在很多变数&#xff0c;业务逻辑时刻在变&#xff0c;而且还要保证快速及时&#xff0c;所以&#xff0c;一个灵活多变、快速部署、持续集成并可以适应多种情况的架构便显得尤为重要。本文主要介绍基于阿…

年底了,程序员如何谈加薪?

前两天&#xff0c;我和朋友一块出去吃饭&#xff0c;他说了一个哭笑不得的事儿&#xff1a;“我面了一个2年经验的男孩&#xff0c;张嘴就要20k&#xff0c;我去了&#xff0c;我在公司呆了7年啊&#xff0c;才22k好吗&#xff1f;” 其实&#xff0c;他的问题并不是特例&…

数据库中间件介绍

文章目录 什么是数据库中间件&#xff1f;Smart-client 模式优点缺点 Proxy 模式优点缺点 单元化架构优点缺点 总结 数据库中间件是连接数据库和应用程序之间的软件层&#xff0c;用于简化数据库管理、提高性能和可伸缩性&#xff0c;同时提供额外的功能和服务。在分布式系统和…

基于阿里云物联网平台,我们这样实现简易出入监控

本文通过一个简单实例&#xff0c;主要介绍了如何使用树莓派快速接入阿里云iot platform&#xff0c;并实现了一个简易的监控人员出入并拍照上送钉钉群的场景 场景 在公司大门入口处布点树莓派和红外感应&#xff0c;实现出入口人员出入时&#xff0c;自动拍照并上送钉钉群机器…

RabbitMQ消息流转图

生产者生产消息&#xff0c;发送到MQ的交换机(exchange)上&#xff0c;交换机可以绑定多个队列&#xff08;Message Queue&#xff09;。这个图中有3个队列&#xff0c;只有一个队列收到了消息&#xff0c;这是因为咱们的交换机是有路由策略的&#xff0c;这个路由就是Routerke…

结合实际场景谈一谈微服务配置

作为 Nacos 5W1H 的系列文章&#xff0c;本文将围绕“Where”&#xff0c;讲述 Nacos 配置管理的三个典型的应用场景&#xff1a; 数据库连接信息限流阈值和降级开关流量的动态调度上一篇&#xff1a;Nacos帮我解决了什么问题&#xff1f; 数据库连接信息 曾经有朋友跟我聊过…

哈工大人工智能研究院院长刘劼:AIoT 核心在“智”不在“联”,需云边端协同...

受访者 | 刘劼采访者 | 伍杏玲出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;物联网是继计算机、互联网和移动通信之后的又一次信息产业的革命性发展。近几年来&#xff0c;物联网发展迅速&#xff1a;据研究机构IDC公司预测&#xff0c;到2020年&#xff0c;物联…

RabbitMQ 管控台配置导入导出和重要性

背景&#xff1a;rabbitmq100个节点&#xff0c;做迁移&#xff0c;现在linux6环境&#xff0c;想升级到linux7版本&#xff0c;然后把rabbitmq部署到linux7版本上 怎么去做呢&#xff1f; 不可能把rabbitmq重新构建好&#xff0c;再把对应的交换机、绑定、配置重新设置一遍&am…

python模拟猫狗大战_tensorflow实现猫狗大战(分类算法)-阿里云开发者社区

from __future__ importabsolute_importfrom __future__ importdivisionfrom __future__ importprint_functionimportosimporttensorflow as tfflagstf.app.flagsflags.DEFINE_integer(flag_namebatch_size, default_value16, docstringBatch 大小)flags.DEFINE_string(flag_na…

使用Spring整合Quartz轻松完成定时任务

文章目录1. 必不可少jar包依赖2. 编写任务调度类013. 编写任务调度类024. quartz配置文件5. 测试service6. 效果图开发环境版本jdk1.8Maven3.6.1springSpring 4.2.6.RELEASEIdea2019 1. 必不可少jar包依赖 <dependency><groupId>org.springframework</groupId&g…

太真实了:程序员等级图鉴

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 肥又君责编&#xff5c;阿秃程序员是一个非常神奇的工种&#xff0c;他们对技术有特殊的崇拜&#xff0c;有着严格的等级划分&#xff0c;不同级别的程序员有什么不同之处呢&#xff1f;Let us 瞅瞅 &#xff5e;日常工作日常…

windows故障转移群集和mysql_Windows 2016 无域故障转移群集部署方法 超详细图文教程...

故障转移群集是一个很实用的功能,而windows在2016版本开始,终于支持不用域做故障转移群集.在群集中,我们可以设定一个"群集IP"而客户端只需要根据这个"群集IP"就能连接当前群集的主服务器.而不必关心群集服务器之间的替换.而更棒的是,它是"去中心&quo…

Dubbo下一站:Apache顶级项目

近日&#xff0c;在Apache Dubbo开发者沙龙杭州站的活动中&#xff0c;阿里巴巴中间件技术专家曹胜利(展图)向开发者们分享了Dubbo2.7版本的规划。 本文将为你探秘 Dubbo 2.7背后的思考和实现方式。 Dubbo 2.7 将围绕 异步支持优化、元数据改造&#xff0c;引入JDK8的特性、Net…

Java 中判断连接Oracle数据库连接成功

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Application {public static Connection getConnection() {Connection conn null;try { //连接driver为&#xff1a;oracle.jdbc.driver.OracleDriver//或者oracle…

从内部自用到对外服务,配置管理的演进和设计优化实践

本文整理自阿里巴巴中间件技术专家彦林在中国开源年会上的分享&#xff0c;通过此文&#xff0c;您将了解到&#xff1a; 微服务给配置管理所带来的变化配置管理演进过程中的设计思考配置管理开源后的新探索配置中心控制台设计实践“为什么相对于传统的软件开发模式&#xff0…

12 种主流编程语言输出“ Hello World ”,把我给难住了!

作为一名程序员&#xff0c;在初步学习编程想必都绕不开一个最为基础的入门级示例“Hello World”&#xff0c;那么&#xff0c;你真的了解各个语言“Hello World”的正确写法吗&#xff1f;在我们刚开始打开编程世界的时候&#xff0c;往往写的第一个程序都是简单的文本输出&a…

mysql 截取域名_sql 截取域名的问题

sql 截取域名的几种方法总结&#xff0c;需要的朋友可以参考一下最近由于对数据库的域名要排重&#xff0c;因为sql直接使用起来方便一些&#xff0c;就整理下A.截取从字符串左边开始N个字符代码如下:Declare S1 varchar(100)Select S1http://www.jb51.netSelect Left(S1,4)---…

优秀工程师必备的三大思维,你拥有哪些?

不同岗位、不同职责的技术人对工程师思维的深度要求是不一样的&#xff0c;但从多维度去思考却应是每个技术人都应该具备的素养。本文整理自阿里巴巴高级技术专家至简在团队内部的个人分享&#xff0c;希望通过对工程师思维的分析和解读&#xff0c;让大家能正确对待那些在现实…

看完这篇还不了解Nginx,那我就哭了!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 蔷薇Nina责编 | 阿秃想必大家一定听说过 Nginx&#xff0c;若没听说过它&#xff0c;那么一定听过它的"同行"Apache 吧&#xff01;Nginx 的产生Nginx 同 Apache 一样都是一种 Web 服务器。基于 REST 架构风格&…