[英]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.