参考来源:
[https://www.cnblogs.com/cwp-bg/p/10070467.html](https://www.cnblogs.com/cwp-bg/p/10070467.html)
[https://www.jianshu.com/p/b5f8057a1cd5](https://www.jianshu.com/p/b5f8057a1cd5)
### 用户设置
* rabbitmq有一个默认的用户名和密码,guest和guest,但为了安全考虑,该用户名和密码只允许本地访问,如果是远程操作的话,需要创建新的用户名和密码;
~~~
# root权限
rabbitmqctl add_user username passwd //添加用户,后面两个参数分别是用户名和密码
rabbitmqctl set_permissions -p / username ".*" ".*" ".*" //添加权限
rabbitmqctl set_user_tags username administrator //修改用户角色,将用户设为管理员
~~~
注意:创建的新用户默认角色为空。
#### 用户的角色说明
~~~
management:用户可以访问管理插件
policymaker:用户可以访问管理插件,并管理他们有权访问的vhost的策略和参数。
monitoring:用户可以访问管理插件,查看所有连接和通道以及与节点相关的信息。
administrator:用户可以做任何监视可以做的事情,管理用户,vhost和权限,关闭其他用户的连接,并管理所有vhost的政策和参数。
~~~
使用添加的账户远程访问后台管理站点,将原来的账号guest删除;
#### 用户管理命令汇总
~~~
新建用户:rabbitmqctl add_user username passwd
删除用户:rabbitmqctl delete_user username
改密码: rabbitmqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}
# 设置为管理员 rabbitmqctl set_user_tags username administrator
rabbitmqctl set_permissions -p / username ".*" ".*" ".*" //添加权限
~~~
#### 权限说明:
~~~
rabbitmqctl set_permissions [-pvhostpath] {user} {conf} {write} {read}
Vhostpath:虚拟主机,表示该用户可以访问那台虚拟主机;
user:用户名。
Conf:一个正则表达式match哪些配置资源能够被该用户访问。
Write:一个正则表达式match哪些配置资源能够被该用户设置。
Read:一个正则表达式match哪些配置资源能够被该用户访问。
~~~
* 虚拟主机
默认的用户和队列都是在/虚拟机下。
~~~
# 创建一个虚拟主机
rabbitmqctl add_vhost vhost_name
# 删除一个虚拟主机
rabbitmqctl delete_vhost vhost_name
~~~
### 常用文件路径
* /usr/local/rabbitmq\_server/var/log/rabbitmq/rabbit@tms.log:记录rabbitmq运行日常的日志
* /usr/local/rabbitmq\_server/var/log/rabbitmq/rabbit@tms-sasl.log:rabbitmq的崩溃报告
* /usr/local/rabbitmq\_server/etc/rabbitmq/rabbitmq.config:rabbitmq的配置文件
* /usr/local/rabbitmq\_server/var/lib/rabbitmq/mnesia/rabbit@tms:rabbit消息持久化文件
**注意:**
如果相应路径的文件不存在就自己创建,如果是使用apt安装或yum安装那么这些文件夹都被自动创建好了。