赞
踩
rabbitmqctl add_user {user_name} {user_passwd}
# rabbitmqctl add_user yang 123456
Adding user "yang" ...
rabbitmqctl list_users
# rabbitmqctl list_users
Listing users ...
user tags
yang []
guest [administrator]
rabbitmqctl set_user_tags {user_name} {permissions}
# rabbitmqctl set_user_tags yang administrator
Setting tags for user "yang" to [administrator] ...
#
# rabbitmqctl list_users
Listing users ...
user tags
yang [administrator]
guest [administrator]
rabbitmqctl change_password {username} {newpassword}
# rabbitmqctl change_password yang 12345678
Changing password for user "yang" ...
rabbitmqctl clear_password {username}
# rabbitmqctl clear_password yang
Clearing password for user "yang" ...
rabbitmqctl delete_user {username}
# rabbitmqctl delete_user yang
Deleting user "yang" ...
#
# rabbitmqctl list_users
Listing users ...
user tags
guest [administrator]
在上面添加完相关的用户后,就可以对其用户分配相关vhost的权限了。
vhost之于Rabbit就像虚拟机之于物理服务器一样,它们通过在各个实例间提供逻辑上分离,允许你为不同的应用程序安全保密地运行数据。而在RabbitMQ中相应的权限分为读、写、配置三部分。
知道了RabbitMQ权限相关的配置后,就可以根据具体情况来配置相应的信息。
rabbitmqctl add_vhost {vhost}
因为RabbitMQ的权限是以vhost为分隔的,所以我们需要确定一个vhost来确定相关的权限设置,默认的vhost是“/”。# rabbitmqctl add_vhost tmp_vhost
Adding vhost "tmp_vhost" ...
rabbitmqctl list_vhosts {vhostinfoitem ...}
其中 {vhostinfoitem} 表示要展示的vhost的字段信息,展示的结果将按照 {vhostinfoitem} 指定的字段顺序展示。这些字段包括: name(名称) 和 tracing (是否为此vhost启动跟踪)。如果没有指定具体的字段项,那么将展示vhost的名称。# rabbitmqctl list_vhosts
Listing vhosts ...
name
/
tmp_vhost
#
# rabbitmqctl list_vhosts tracing
Listing vhosts ...
tracing
false
false
rabbitmqctl delete_vhost {vhost}
删除一个vhost将会删除该vhost的所有exchange、queue、binding、用户权限、参数和策略。# rabbitmqctl delete_vhost tmp_vhost
Deleting vhost "tmp_vhost" ...
#
# rabbitmqctl list_vhosts
Listing vhosts ...
name
/
rabbitmqctl set_permissions [-p vhost] {user} {conf} {write} {read}
,具体作用如下:
# rabbitmqctl set_permissions -p / yang "^mip-.*" ".*" ".*"
Setting permissions for user "yang" in vhost "/" ...
上面例子表示授权给用户 “yang” 具有所有资源名称以 “mip-” 开头的配置权限;所有资源的写权限和读权限。
rabbitmqctl list_permissions [-p vhost]
默认vhost为 “/”。注意,空字符串表示没有任何权限。# rabbitmqctl list_permissions -p /
Listing permissions for vhost "/" ...
user configure write read
guest .* .* .*
yang ^mip-.* .* .*
rabbitmqctl clear_permissions [-p vhost] {username}
,host默认值为 “/”# rabbitmqctl clear_permissions -p / yang
Clearing permissions for user "yang" in vhost "/" ...
#
# rabbitmqctl list_permissions -p /
Listing permissions for vhost "/" ...
user configure write read
guest .* .* .*
rabbitmqctl list_user_permissions {username}
# rabbitmqctl list_user_permissions guest
Listing permissions for user "guest" ...
vhost configure write read
/ .* .* .*
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。