You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mosquitto动态安全插件无法添加用户/角色问题求助

Mosquitto 2.0.15动态安全插件无法添加用户/角色问题

使用Mosquitto 2.0.15版本的动态安全插件(Dynamic Security Plugin)时,无法添加任何用户或角色。执行命令mosquitto_ctrl -u myadmin dynsec createClient testUser无报错,设置完测试用户testUser的密码后,查看/opt/mosquitto/dynamic-security.json文件,仅能找到初始创建的myadmin用户。以下是相关操作日志及配置文件内容:

操作日志

ubuntu@instance-20220606-2142:~$ mosquitto_ctrl -u myadmin dynsec createClient testUser
请输入testUser的新密码。直接回车则不设置密码(用户将无法登录)。
输入testUser的新密码:
再次输入testUser的新密码:
警告:你正在未加密的环境下运行mosquitto_ctrl。
这意味着你所做的所有配置更改(包括密码)都会在网络上明文传输,存在泄露风险。

输入myadmin的密码:
ubuntu@instance-20220606-2142:~$ sudo nano  /opt/mosquitto/dynamic-security.json
ubuntu@instance-20220606-2142:~$

dynamic-security.json配置

{
    "clients": [
        {
            "username": "myadmin",
            "textName": "动态安全管理员用户",
            "password": "BkzzrsHWjAo0Kz444L+OVwfrI7kJZgSU5w+2AzJXh3CaI2Dgxy0ze3Vm2K8+PMaMXFwA8uAMZ9D5g1aQuMVMjg==",
            "salt": "rhTl0xJLbYuyWq9f",
            "iterations": 101,
            "roles": [
                {
                    "rolename": "admin"
                }
            ]
        }
    ],
    "roles": [
        {
            "rolename": "admin",
            "acls": [
                {
                    "acltype": "publishClientSend",
                    "topic": "$CONTROL/dynamic-security/#",
                    "allow": true
                },
                {
                    "acltype": "publishClientReceive",
                    "topic": "$CONTROL/dynamic-security/#",
                    "allow": true
                },
                {
                    "acltype": "subscribePattern",
                    "topic": "$CONTROL/dynamic-security/#",
                    "allow": true
                },
                {
                    "acltype": "publishClientReceive",
                    "topic": "$SYS/#",
                    "allow": true
                },
                {
                    "acltype": "subscribePattern",
                    "topic": "$SYS/#",
                    "allow": true
                },
                {
                    "acltype": "publishClientReceive",
                    "topic": "#",
                    "acltype": "publishClientReceive",
                    "topic": "#",
                    "allow": true
                },
                {
                    "acltype": "subscribePattern",
                    "topic": "#",
                    "allow": true
                },
                {
                    "acltype": "unsubscribePattern",
                    "topic": "#",
                    "allow": true
                }
            ]
        }
    ],
    "defaultACLAccess": {
        "publishClientSend": false,
        "publishClientReceive": true,
        "subscribe": false,
        "unsubscribe": true
    }
}

default.conf配置

listener 1882

listener 1883
# 密码文件路径 /etc/mosquitto/passwd
protocol websockets

mosquitto.conf配置

# 将本地配置放置在/etc/mosquitto/conf.d/目录下
#
# 配置文件的完整说明可查看
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
per_listener_settings false

plugin /usr/lib/x86_64-linux-gnu/mosquitto_dynamic_security.so
plugin_opt_config_file /opt/mosquitto/dynamic-security.json

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

内容的提问来源于stack exchange,提问作者kareem.khalil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 03:21:36