mirror of
https://github.com/deunix-educ/Fail2banMqttActionBanishment.git
synced 2026-08-24 03:11:58 +02:00
29 lines
1.2 KiB
Bash
Executable File
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
|