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
相关产品推荐
相关产品推荐

