ACL Mosquitto: имя пользователя и Client ID создают разные правила доступа

Запросить

Фотография конкретного исполнения не приложена.

В формате acl_file строка user относится к username, а не к MQTT Client ID. Шаблонные подстановки %u и %c используют эти разные идентификаторы. Ошибка их выбора может дать устройству доступ к чужой ветке либо отказать правильному источнику при изменении его клиентского идентификатора.

Topic-правила различают read, write, readwrite и deny; явные deny обрабатываются перед выдающими доступ правилами. Подстановка должна занимать целый уровень topic. Поэтому строку проверяют на конкретных полных именах и операциях, а не только на внешнем сходстве шаблона с деревом телеметрии.

Текущая документация рекомендует соответствующий ACL-плагин для новых конфигураций и отмечает устаревание per_listener_settings. Синтаксис существующего файла полезно сохранить как точную область разбора, но нельзя объявлять его единственным современным способом авторизации. Политику конкретной поставки подтверждают вместе с фактически загруженными плагинами и listeners.

В приёмке проверяют разрешённое чтение и запись, соседнюю запрещённую ветку и изменение Client ID при том же username. Отдельно проверяют анонимный сценарий, если он предусмотрен. Успешное подключение к брокеру не подтверждает право публиковать или получать конкретные topics.

Основание — Eclipse Mosquitto official unversioned documentation snapshot; Download index observed 2.1.2, разделы acl_file; topic/user/pattern syntax. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Реальный брокер, его сборка, плагины и сеть не испытывались. Изменения конфигурации, учётных записей и прав не выполнялись; поддержку параметров проверяют по установленной версии.

Все разборы

Россия Казахстан
office@apocalypsemoto340.ru

Все запросы только на email