Files
Fail2banMqttActionBanishment/generic/mosquitto/certbot-deploy-mosquitto.sh
T
2026-07-20 11:05:07 +02:00

29 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# certbot-deploy-mosquitto.sh — copie le certificat Let's Encrypt vers un
# emplacement lisible par l'utilisateur système 'mosquitto' (non-root), et
# redémarre mosquitto pour qu'il recharge le nouveau certificat.
#
# /etc/letsencrypt est verrouillé root-only par certbot (le dossier lui-même,
# pas seulement privkey.pem) : mosquitto ne peut donc jamais lire les
# fichiers directement à leur emplacement d'origine, quels que soient leurs
# propres droits. D'où cette copie découplée, dans un répertoire que install.sh
# rend group-lisible pour 'mosquitto'.
#
# Installé par install.sh (install-master) comme deploy-hook certbot :
# /etc/letsencrypt/renewal-hooks/deploy/ — s'exécute automatiquement à
# chaque renouvellement. Peut aussi être lancé à la main.
set -euo pipefail
DOMAIN="__MQTT_MASTER_DOMAIN__"
SRC="/etc/letsencrypt/live/$DOMAIN"
DEST="/etc/mosquitto/master-tls"
install -d -o root -g mosquitto -m 750 "$DEST"
cp "$SRC/fullchain.pem" "$DEST/fullchain.pem"
cp "$SRC/privkey.pem" "$DEST/privkey.pem"
chown root:mosquitto "$DEST/fullchain.pem" "$DEST/privkey.pem"
chmod 640 "$DEST/fullchain.pem" "$DEST/privkey.pem"
systemctl restart mosquitto.service