This commit is contained in:
Thomas Kruse
2026-02-03 22:29:46 +01:00
commit 8fdf5827e4
156 changed files with 23069 additions and 0 deletions

View File

@ -0,0 +1,77 @@
= Mosquitto Autorisierung
Konfigurieren Sie Mosquitto, aktivieren Sie die Nutzung der ACL Datei.
listener 1883
allow_anonymous true
password_file /mosquitto/config/users.txt
acl_file /mosquitto/config/acl.txt
Nicht authentifizierte Clients dürfen `freeforall` und alles unterhalb nutzen.
topic readwrite freeforall
Authentifizierte User dürfen unterhalb von `users/` ihren Usernamen und alles darunter nutzen.
pattern readwrite users/%u/#
Das Topic `announcements` darf jeder lesen, der User `thomas` auch schreiben
topic read announcements
user thomas
topic readwrite announcements
Testen Sie das Verhalten mit verschiedenen Varianten zu publizieren, variieren Sie auch QoS und MQTT Version.
$ docker run --rm -it --init --net host -v $PWD/config:/mosquitto/config eclipse-mosquitto
$ docker run --rm -it --init --net host eclipse-mosquitto \
mosquitto_sub -V 5 --topic "freeforall" \
--debug
$ docker run --rm -it --init --net host eclipse-mosquitto \
mosquitto_sub -V 5 --topic "announcements" \
--debug
$ docker run --rm -it --init --net host eclipse-mosquitto \
mosquitto_sub -V 5 --topic "users/thomas/inbox" \
--username thomas -P geheim --debug
$ docker run --rm -it --init --net host eclipse-mosquitto \
mosquitto_pub -V 5 --qos 1 --topic "freeforall" --message "hello all" --debug
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_pub -V 5 --topic announcements --message "not allowed" \
--debug
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_pub --qos 1 --topic announcements --message "not allowed" \
--debug
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_pub -V 5 --qos 1 --topic announcements --message "not allowed" \
--debug
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_pub -V 5 --qos 1 --topic users/thomas/inbox --message "email for you" \
--username thomas -P geheim --debug
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_pub -V 5 --qos 1 --topic announcements --message "system information" \
--username thomas -P geheim --debug