在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