本文將講解 Mosquitto 用戶機制、如果還沒有搭建 Mosquitto 服務的可以參考我的另外兩篇文章<< 一、Mosquitto 介紹&安裝>> << 二、 Mosquitto 的使用說明 >> 來搭建 Mosquitto 服務。
mosquitto中可以添加多個用戶,只有使用用戶名和密碼登陸服務器才允許用戶進行訂閱與發布操作。可以說用戶機制是mosquitto重要的安全機制,增強服務器的安全性。
用戶與權限配置需要修改3處地方:
1、mosquitto中最最最重要的配置文件mosquitto.conf(配置文件的位置請看<< 一、Mosquitto 介紹&安裝>> 文章中 1.5節 默認安裝配置文件位置 中會有說明 )。
2、pwfile.example (保存用戶名與密碼)
3、aclfile.example (保存權限配置)
首先我們來新增兩個用戶 1: admin/admin 2: mosquitto/mosquitto 具體步驟:
1: 打開mosquitto.conf文件,找到allow_anonymous節點,這個節點作用是,是否開啟匿名用戶登錄,默認是true。打開此項配置(將前面的 # 號去掉)之后將其值改為true
修改前:#allow_anonymous
修改后:allow_anonymous false
2: 找到password_file節點,這個節點是告訴服務器你要配置的用戶將存放在哪里。打開此配置並指定pwfile.example文件路勁(注意是絕對路勁)
修改前:#password_file
修改后:password_file /etc/mosquitto/pwfile.example (這里的地址根據自己文件實際位置填寫)
3: 創建用戶名和密碼、打開命令窗口 鍵入如下命令:
mosquitto_passwd -c /etc/mosquitto/pwfile.example admin
提示連續兩次輸入密碼、創建成功。命令解釋: -c 創建一個用戶、/etc/mosquitto/pwfile.example 是將用戶創建到 pwfile.example 文件中、admin 是用戶名。
4: 創建mosquitto用戶。在命令窗口鍵入如下命令:
mosquitto_passwd /etc/mosquitto/pwfile.example mosquitto
同樣連續會提示連續輸入兩次密碼。注意第二次創建用戶時不用加 -c 如果加 -c 會把第一次創建的用戶覆蓋。
至此兩個用戶創建成功,此時如果查看 pwfile.example 文件會發現其中多了兩個用戶。
此時所有客戶端連接 Mosquitto 服務都需要輸入用戶名密碼、測試請用上篇文章<<三、Mosquitto Java 客戶端實現>> 中測試代碼測試。