簡體   English   中英

Mosquitto 訪問控制 - 模式和用戶限制

[英]Mosquitto access control - Pattern and user restriction

我正在嘗試為常規用戶訪問控制以及具有不同權限的“管理員”用戶創建模式。

在模式之前,我有:

user admin
topic write +/in/#
topic read +/out/#

user john
topic read john/in/#
topic write john/out/#

這很好用。 但是,當引入更多用戶時,需要一種模式。 我從 Mosquitto 的數據表中得出的結論是:

user admin
topic write +/in/#
topic read +/out/#

pattern read %u/in/#
pattern write %u/out/#

但是,使用上述配置,連接被拒絕。 上面的配置我做錯了什么?

我還將添加單獨的模式(沒有“管理員”用戶配置),它工作正常。 我面臨的問題是當我同時擁有模式和特定用戶訪問控制時。

編輯:添加 mosquitto(v1.4.15) 的配置可能會很好:

allow_anonymous false
password_file /etc/mosquitto/passwd
acl_file /etc/mosquitto/conf.d/access_control

message_size_limit 1000
use_username_as_clientid true

log_dest file /var/log/mosquitto/mosquitto.log
log_dest topic
connection_messages true
log_type all

您需要將用戶特定的模式放在通用模式之后。

例如

pattern read %u/in/#
pattern write %u/out/#

user admin
topic write +/in/#
topic read +/out/#

這是因為假設user輸入后的所有模式都屬於該用戶。

編輯:

實際上,該文檔另有暗示,但我仍然會嘗試一下。

替換模式必須是該層次結構級別的唯一文本。 即使之前已經給出了“user”關鍵字,模式 ACL 也適用於所有用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM