在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的讀權限
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 安裝/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章