2016-12-30 55 views
2

我有一個在Ubuntu 16.04中運行的MQTT代理。我的問題是,如何在代理運行時添加用戶?當我添加使用在MQTT Broker中添加用戶

mosquitto_passwd -c /etc/mosquito/pwfile user2 

用戶不需要在PWFILE顯示了用戶,但我不能,直到我重新啓動代理從外部源訪問該用戶。 我曾嘗試使用

sudo mosquitto -c /etc/mosquitto/mosquitto.conf 

重新加載mosquitto.conf文件,但它給這個錯誤

1483102542: Config loaded from /etc/mosquitto/mosquitto.conf. 
1483102542: Opening ipv4 listen socket on port 1883. 
1483102542: Error: Address already in use 

所以,我應該怎麼做才能將用戶添加到代理,並加載它們,無需重新啓動的經紀人? (我正在使用ESP8266設備訪問此代理,並且我也嘗試使用MQTTLens(Chrome擴展)訪問新添加的用戶,但我無法訪問)

回答

1

有2個選項可用。

  1. Mosquitto在啓動時讀取密碼文件,因此在運行mosquitto_passwd時不會讀取更改。您可以通過向蚊子經紀人發送HUP信號強制蚊子重新讀取文件
  2. 更好的選擇是,如果要動態添加/刪除用戶並使用允許您使用密碼文件的mosquitto-auth-plugin,則停止使用密碼文件數據庫來存儲用戶名/密碼和ACL條目。
相關問題