内置acl.conf 文件失效

环境信息

  • EMQX 版本: 4.3.11
  • 操作系统及版本:centos7
  • 其他

问题描述

emqx 中
allow_anonymous = false
acl_nomatch = deny默认权限

mqttx 可以连接 但是会提示 Topic: subscribe error, 拒绝了$SYS主题,错误的 QoS,MQTT Broker 拒绝了订阅。请检查 ACL 配置

acl_nomatch = allow 可以订阅系统主题,但这样不就不走 acl.conf文件了吗?
(user 已在emqx_auth_mnesia.conf中添加)

{allow, {user, “dashboard”}, subscribe, ["$SYS/#"]}.

{allow, {ipaddr, “127.0.0.1”}, pubsub, ["$SYS/#", “#”]}.

{allow, {user, “xxxx”}, subscribe, ["$SYS/brokers/+/clients/#"]}.

{deny, all, subscribe, ["$SYS/#", {eq, “#”}]}.

{allow, all}.

配置文件及日志

acl_nomatch 指定的是 ACL 检查之后的行为,例如没有任何规则显式地拒绝当前操作,就会根据 acl_nomatch 的值来决定是允许还是拒绝。

看你给出的 acl.conf 文件内容,不应该导致这个结果的。方便补充更多的信息吗?比如你使用的 Client ID,Username,以及订阅的具体主题。