五、RabbitMQ 快速使用 - RabbitMQ 管理之 user 相关操作
hi,我是温新,一名 PHPer
版本:erlang-25.2.1、rabbitmq_server-3.11.9
系统版本:Rocky Linux 9.1
学习目标:掌握 user 相关操作
本篇文章结合官方文档编写及参考网络资料编写,虽非全部原创,但也是结合了自己的理解,若转载请附带本文 URL,编写不易,持续编写更不易,谢谢!
在 RabbitMQ 中,用户 是访问控制(Access Control)的基本单元,且用户可以跨越多个 vhost 授权。使用标准的用户名和密码来认证用户。
创建用户
语法
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">add_user</span> {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">username</span>} {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">password</span>}</span>
案例
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">add_user</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">test</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">123456</span></span>
修改密码
语法
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">change_password</span> {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">username</span>} {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">newpassword</span>}</span>
案例
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">change_password</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">test</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1234567</span></span>
清除密码
语法
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">change_password</span> {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">username</span>} </span>
案例
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">change_password</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">test</span></span>
验证用户密码
语法
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">authenticate_user</span> {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">username</span>} {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">newpassword</span>}</span>
案例
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">authenticate_user</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">test</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">1234567</span></span>
用户列表
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">list_users</span></span>
案例
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># rabbitmqctl list_users</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">Listing</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">users</span> ...</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">user</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">tags</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">test</span> []</span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">guest</span> [<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">administrator</span>]</span>
[]
中有 5 种角色类型:
-
node
无任何角色; -
management
可以访问 web 管理页面; -
policymaker
包含 management 的所有权限,并且可以管理 策略(Policy) 和 参数(Parameter); -
monitoring
包含 management 的所有权限,并且可以看到所有连接、信道及节点相关的信息; -
administrator
最高权限,包含 monitoring 的所有权限,并且可以管理用户、虚拟主机、权限、策略、参数等。
设置用户角色
可以给用户设置角色,设置角色之后,现有的角色会被删除。
语法
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(98, 151, 85) !important"># tag :表示要设置的角色,可以多个,空格隔开</span></span><br></br><span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">set_user_tags</span> {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">username</span>} {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">tag</span> ...}</span>
案例
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">set_user_tags</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">test</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">administrator</span></span>
删除用户
语法
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">delete_user</span> {<span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">username</span>}</span>
案例
<span style="box-sizing: border-box;color: rgb(171, 178, 191);padding-right: 0.1px"><span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">rabbitmqctl</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">delete_user</span> <span style="box-sizing: border-box;color: rgb(209, 154, 102) !important">test</span></span>
请登录后再评论