在CentOS7上搭建mosquitto MQTT Broker
作者:钓赛通
发布时间:2022-07-10
点击数:
1. 安装
mosquitto已经被加入到EPEL仓库中,添加EPEL源后可以直接通过yum安装。
sudo yum -y install epel-release
sudo yum install mosquitto
1
2
2. 启停控制
控制mosquitto这个service即可。
# 启动 sudo systemctl start mosquitto # 停止 sudo systemctl stop mosquitto #重启 sudo systemctl restart mosquitto # 开机自启 sudo systemctl stop mosquitto
3. 提升安全等级
默认配置文件的位置是:/etc/mosquitto/mosquitto.conf。
(1)关闭allow_anonymous
在配置文件中去掉allow_anonymous参数前的注释符#,并将选项修改为false。
allow_anonymous false
1
(2)设置密码
在配置文件中去掉passwd_file参数前的注释符#,并添加选项为/etc/mosquitto/passwd,即:
password_file /etc/mosquitto/passwd
1
passwd文件按username:password格式编写,如:
alice:123456
1
重启mosquitto后配置生效,同时passwd文件中的密码转为密文存储。
(3)用户权限控制
在配置文件中去掉acl_file参数前的注释符#,并添加选项为/etc/mosquitto/acl,即:
acl文件示例如下:
# 不加user参数的选项对所有client都有效;加user参数的只对以特定用户名登录的client生效 user alice # 用户alice具有所有系统主题的读权限 topic read $SYS/# # 用户alice具有Topic/1的写权限 topic write Topic/1