Mosquitto 高级应用之权限管理

Posted 代码过客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mosquitto 高级应用之权限管理相关的知识,希望对你有一定的参考价值。

  本文将讲解 Mosquitto 权限管理、如果还没有搭建 Mosquitto 服务的可以参考我的另外两篇文章<< 一、Mosquitto 介绍&安装>> << 二、 Mosquitto 的使用说明 >> 来搭建 Mosquitto 服务。

  Mosquitto 权限是根据 topic 控制的、类似与目录管理。您可以设定每个用户订阅/发布权限、也可以设定每个用户可访问的topic范围、从而达到权限控制的目的。
  这里我们需要用到<<四、Mosquitto 高级应用之用户配置>> 中创建的2个用户。

  1: 给这两个用户配置不同的权限

    admin 设置为订阅权限,并且只能访问的主题为"root/topic/#"

    mosquitto 设置为发布权限,并且只能访问的主题为"root/topic/#"

    如果用 admin 进行发布是不会成功的、反过来用 mosquitto 进行订阅同样不会接受到任何信息。因为他们的权限不同。

  2: 增加权限配置

    打开配置文件 aclfile.example 在其中添加如下配置信息。

user admin
topic read root/topic/#
user mosquitto
topic write root/topic#

read 订阅权限 、write 发布权限、# 通配符表示所有的、保存退出。

  3:修改 Mosquitto.conf 配置选项

    打开mosquitto.conf文件,找到acl_file节点。打开配置做如下修改:
    修改前:#acl_file
    修改后:acl_file /etc/mosquitto/aclfile.example 根据自己文件实际位置填写

至此admin 、 Mosquitto 两个用户的权限已配置完成。 测试请使用<<三、Java 客户端实现>>中测试代码进行测试。

以上是关于Mosquitto 高级应用之权限管理的主要内容,如果未能解决你的问题,请参考以下文章

Mosquitto 高级应用之SSL/TLS

权限集中管理之sudo高级应用详解

liunx权限管理之高级权限

Linux高级管理之ACL(访问控制列表)实战应用

20181126文件权限管理之:高级权限suid

Linux系统之高级用户组和权限管理