第6章 Mosquitto用户认证与访问控制

第6章 用户认证与访问控制

6.1 认证机制概览

匿名
用户名密码
插件
客户端连接
认证检查
allow_anonymous
密码文件
动态认证
允许或拒绝
验证密码
成功/失败
外部验证

6.2 密码文件管理

创建密码文件

bash 复制代码
# 创建新密码文件(-c)
mosquitto_passwd -c /etc/mosquitto/passwd admin

# 添加用户
mosquitto_passwd -b /etc/mosquitto/passwd user1 pass123

# 删除用户
mosquitto_passwd -D /etc/mosquitto/passwd user1

# 修改密码
mosquitto_passwd -b /etc/mosquitto/passwd admin newpass

密码文件格式

bash 复制代码
# /etc/mosquitto/passwd
# 格式: username:$6$hash...
admin:$6$4o...
user1:$6$7k...
user2:$6$9m...

6.3 ACL访问控制

ACL文件结构

ACL规则
用户权限
user specific
topic readwrite
topic read
topic write
模式匹配
pattern readwrite
%u 用户名
%c ClientID
通配符

  • 单级 # 多级

ACL配置示例

bash 复制代码
# /etc/mosquitto/acl

# 管理员 - 所有权限
user admin
topic readwrite #

# 传感器设备
user sensor001
topic write sensor/sensor001/data
topic read sensor/sensor001/config
topic read cmd/sensor001/#

# 移动应用
user app_user123
topic read home/#
topic write home/cmd/#

# 只读监控
user monitor
topic read #

# 模式匹配
pattern readwrite home/%u/#
pattern readwrite device/%c/#

匹配优先级

ACL检查
用户特定规则
模式匹配规则
默认规则
最优先
其次
最后
应用第一个匹配

6.4 认证流程

ACL文件 密码文件 Broker 客户端 ACL文件 密码文件 Broker 客户端 CONNECT user/user1, pass/pass123 查询user1 密码匹配 认证成功 SUBSCRIBE sensor/ 检查ACL 允许订阅 SUBACK PUBLISH sensor/data 检查发布权限 允许发布 转发消息

6.5 完整配置

bash 复制代码
# /etc/mosquitto/mosquitto.conf

# 禁用匿名
allow_anonymous false

# 密码文件
password_file /etc/mosquitto/passwd

# ACL文件
acl_file /etc/mosquitto/acl

# 访问日志
log_dest stdout
log_type all
connection_messages true

6.6 本章小结

实现了基于用户名密码的认证和细粒度的主题访问控制。

相关推荐
Raink老师5 小时前
【AI面试临阵磨枪】Harness 的环境隔离(沙箱)如何设计?文件、网络、命令、权限四层隔离?
人工智能·ai 面试
FIT2CLOUD飞致云5 小时前
支持Hermes Agent与MongoDB管理,1Panel v2.1.9版本发布
ai·开源·1panel
人工智能AI技术5 小时前
Python 断言 assert 基础用法
人工智能
我是发哥哈5 小时前
横向评测:五款主流AI培训课程效果与选型分析
人工智能
GetcharZp6 小时前
告别昂贵显卡!llama.cpp 终极指南:在你的电脑上满速运行大模型!
人工智能
Cyeam6 小时前
Roadbook CSV:一行 CSV 秒变高德地图路书
后端·开源·aigc
AI木马人6 小时前
3.【Prompt工程实战】如何设计一个可复用的Prompt系统?(避免每次手写提示词)
linux·服务器·人工智能·深度学习·prompt
ch3nyuyu6 小时前
Ubuntu(乌班图)基础指令
linux·运维·网络
Agent产品评测局6 小时前
临床前同源性反应种属筛选:利用AI Agent加速筛选的实操方案 —— 2026企业级智能体选型与技术落地指南
人工智能·ai·chatgpt
ting94520006 小时前
HunyuanOCR 全方位深度解析
人工智能·架构