本文默認已經安裝並且開啓emqttd,做的事是關閉MQTT客戶端匿名認證並且通過username和passward認證,且有一定的Linux命令基礎.
環境:
Ubuntu16.04 + emq v3.2.1
正文:
關閉匿名認證
emq安裝時,默認開啓了匿名認證,也就是說客戶端不需要用戶名和密碼只需要IP和端口就可以發佈或者訂閱主題,所以我們的第一步就是關閉匿名認證.
1 進入emqx安裝目錄下/etc,打開emqx.conf文件
cd /opt/emqx/etc
vim emqx.conf
2 按/鍵進入搜索模式,搜索關鍵字anonymous,找到這一行: allow_anonymous = true(我這邊是447行)
將true改爲false,保存,退出,就關閉了匿名認證.
添加Username插件 emq_auth_username
1 bin目錄下執行下面命令,開始emq_auth_username插件
./emqttd_ctl plugins load emq_auth_username
2 執行下面命令,添加一個用戶名和密碼
./emqttd_ctl users add test 123456
3 使用下面命令可以執行所需的操作,大功告成
./emqx_ctl users
users list # List users
users add <Username> <Password> # Add User
users update <Username> <NewPassword> # Update User
users del <Username> # Delete User