Rabbitmq用户权限配置

由于账号guest具有所有的操作权限,并且又是默认账号,出于安全因素的考虑,guest用户只能通过localhost登陆使用,并建议修改guest用户的密码以及新建其他账号管理使用rabbitmq(该功能是在3.3.0版本引入的)。

  1. 用户管理

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

相应的命令

(1) 新增一个用户

rabbitmqctl add_user Username Password

(2) 删除一个用户

rabbitmqctl delete_user Username

(3) 修改用户的密码

rabbitmqctl change_password Username Newpassword

(4) 查看当前用户列表

rabbitmqctl list_users

  1. 用户角色

按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

(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

  1. 用户权限

用户权限指的是用户对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

liuxin@MacBook-Pro  ~  rabbitmqctl add_user liuxin 950914lx
Creating user "liuxin" ...
 liuxin@MacBook-Pro  ~  rabbitmqctl  list_users
Listing users ...
liuxin  []
guest   [administrator]
 liuxin@MacBook-Pro  ~  rabbitmqctl  set_user_tags  liuxin administrator
Setting tags for user "liuxin" to [administrator] ...
 liuxin@MacBook-Pro  ~  rabbitmqctl  list_users
Listing users ...
liuxin  [administrator]
guest   [administrator]

2.删除用户
rabbitmqctl delete_user username

3.修改密码
rabbitmqctl change_password usernamenewpassword

4.列出所有用户
rabbitmqctl list_users
权限控制1.创建虚拟主机
rabbitmqctl add_vhost vhostpath

2.删除虚拟主机
rabbitmqctl delete_vhost vhostpath

3.列出所有虚拟主机
rabbitmqctl list_vhosts

4.设置用户权限
rabbitmqctl set_permissions [-pvhostpath] username regexp regexp regexp

5.清除用户权限
rabbitmqctl clear_permissions [-pvhostpath] username

6.列出虚拟主机上的所有权限
rabbitmqctl list_permissions [-pvhostpath]

7.列出用户权限
rabbitmqctl list_user_permissionsusername

#添加虚拟端口
 [email protected]  ~  rabbitmqctl add_vhost az
Creating vhost "az" ...
 [email protected]  ~  rabbitmqctl add_user liuxin liuxin
Creating user "liuxin" ...
Error: user_already_exists: liuxin
#为用户设置权限策略
 ? [email protected]  ~  rabbitmqctl set_user_tags User administrator
Setting tags for user "User" to [administrator] ...
Error: no_such_user: User
 ? [email protected]  ~  rabbitmqctl set_user_tags liuxin administrator
Setting tags for user "liuxin" to [administrator] ...
 [email protected]  ~  rabbitmqctl set_permissions -p az User ConfP WriteP ReadP
Setting permissions for user "User" in vhost "az" ...
Error: no_such_user: User
#为用户设置虚拟端口
 ? [email protected]  ~  rabbitmqctl set_permissions -p az liuxin ConfP WriteP ReadP
Setting permissions for user "liuxin" in vhost "az" ...

原文地址:https://www.cnblogs.com/ExMan/p/10268438.html

时间: 2024-10-04 23:04:40

Rabbitmq用户权限配置的相关文章

【samba】samba 用户权限配置(转)

首先要保证你的samba安装并配置好,关于安装和配置samba请参考此文章 http://blog.csdn.net/linglongwunv/archive/2010/01/19/5212875.aspx, 在这篇文章里对于samba共享的目录为所有用户开放了全部的权限,现在由于公司需求改变要进行修改. 需求1:有一个共享目录为rule,里面放公司的规章制度,所有用户都可以查看,但是不能修改 解决方法:在smb.conf里配置read only = yes,具体示例如下:[rule]path

mongodb用户权限配置

第一次安装monogdb时,admin数据库中没有任何用户,此时不管是否以--auth方式启动数据库,其他数据库(比如test数据库)中的用户都可以对另外的数据库(比如db1数据库)中的数据进行操作~! > show dbs local   (empty) #查看admin 数据库中的用户信息,因为是刚建立的数据库所以user 为空~! > use admin switched to db admin 通过db.createUser()创建: db.createUser( { user:&qu

centos7 安装vsftpd安装和配置以及虚拟用户权限分配

系统环境 centos7.3 版本 ftp 根目录 : /data/ftpftp 配置文件目录:/etc/vsftpdftp 虚拟用户权限配置文件目录:/etc/vsftpd/vuser_config 实现目标: 1,匿名用户可以登录,但是不能访问虚拟用户的宿主目录,只能访问共享目录2,虚拟用户对自己的宿主目录有任何权限,且只能在自己宿主目录中操作 1,安装vsftpd和db_load加密工具 1 2 3 4 5 6 #要关闭selinux 和防火墙或者开启允许的端口,不然访问会有问题 sed

[Django]用户权限学习系列之设计自有权限管理系统设计思路

若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ-LQJ/p/5604331.html 现在步入正题,这篇文章是关于自有权限管理系统设计的思路描述,自有权限管理系统是抛弃django自带的后台管理界面,基于自己编写的权限管理界面对用户权限的管理! 首先上图:(自己设计的权限系统界面,代码将后续文章中写出) 权限管理界面主要是添加和删除权限,查看官方

Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置

文章钢要: 1.对服务器进行多用户配置 2.根据不同用户给予不同权限 一.Mosquitto的用户机制 mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作.可以说用户机制是mosquitto重要的安全机制,增强服务器的安全性. 用户与权限配置需要修改3处地方: 1.mosquitto中最最最重要的配置文件mosquitto.conf. 2.pwfile.example (保存用户名与密码) 3.aclfile.example (保存权限配置) 首先给

rabbitmq 关于guest用户权限的学习

对于guest用户,默认只能localhost 浏览器访问管理界面,否则最初是登不上去的. 但是对于guest用户我们,我们是可以其权限的,来使他登录管理界面 $RABBITMQ_HOME/etc/rabbitmq 新建rabbitmq.config文件 添加内容:[{rabbit, [{loopback_users, []}]}]. (注:不要忽略结尾的.) 此时guest用户有界面的访问权限了,但是此时还不能创建队列. 动态修改用户权限: 查看guest权限 rabbitmqctl list

oracle创建表空间、用户、和权限配置

oracle数据库和mysql.sqlserver不同,它是在同一个数据库中可以定义多个表空间,不同表空间是相互独立的,每个用户都有默认的表空间,所以基本上不同的用户操作的数据表都可以不同,当然如果要相同的话可以在定义表空间的时候设定好那个表空间就行. 创建表空间: create tablespace (你的表空间名字如 pfm)datafile 'D:\oracle\product\10.2.0\oradata\orcl\pfm.dbf' size 100M autoextend on nex

MongoDB下配置用户权限

MongoDB默认设置为无权限访问限制 注:研究成果基于Windows平台 在部署mongodb成功后,进入控制台: 输入命令:mongod  use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里面添加一个超级管理员试试看 里我添加一个超级管理员用户,username为admin,password也为admin,即然我们添加了超级管理员,那咱们就来测试下,看看咱们再次连接MongoDB需不需要

Liferay 6.2 改造系列之二十:修改默认添加用户权限及用户是否拥有个人站点的配置

1.修改默认添加用户权限为User,而非Powers User: 在/portal-master/portal-impl/src/portal.properties文件中有如下配置: # # Input a list of default role names separated by \n characters that are # associated with newly created users. # admin.default.role.names=Power User\nUser