在CentOS7上搭建mosquitto MQTT Broker

1. 安装

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

sudo yum -y install epel-release
sudo yum install mosquitto

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
(2)设置密码

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

password_file /etc/mosquitto/passwd

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

alice:123456

重启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

【参考文献】

https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-the-mosquitto-mqtt-messaging-broker-on-centos-7
https://ming-yi.github.io/2016/08/17/Mosquitto MQTT 安裝/

你可能感兴趣的:(物联网)