在Centos 下安装 mosquitto

mosquitto已经被加入到EPEL仓库中,添加EPEL源后可以直接通过yum安装。

sudo yum -y install epel-release

sudo yum install mosquitto

启动服务 systemctl start mosquitto

停止服务 systemctl stop mosquitto

重启服务 systemctl restart mosquitto

状态服务 systemctl status mosquitto

开机启动 systemctl enable mosquitto

创建账户

创建admin用户 输入两次密码

mosquitto_passwd -c /etc/mosquitto/pwfile.txt admin

创建test 用户 不带-c 不会覆盖(新创建)

mosquitto_passwd /etc/mosquitto/pwfile.example test

安全设置

默认配置文件的位置是:/etc/mosquitto/mosquitto.conf。

关闭allow_anonymous在配置文件中去掉allow_anonymous参数前的注释符#,并将选项修改为false。

allow_anonymous false

设置密码

在配置文件中去掉passwd_file参数前的注释符#,并添加选项为/etc/mosquitto/passwd,即:

password_file /etc/mosquitto/passwd

passwd文件按username:password格式编写,如:admin:123456

重启mosquitto后配置生效,同时passwd文件中的密码转为密文存储。

用户权限控制
在配置文件中去掉acl_file参数前的注释符#,并添加选项为/etc/mosquitto/acl,即:
acl文件示例如下:

不加user参数的选项对所有client都有效;加user参数的只对以特定用户名登录的client生效

user admin

用户admin具有所有系统主题的读权限

topic read $SYS/#

用户admin具有Topic/1的写权限

topic write Topic/1