mirror of
https://github.com/deunix-educ/Fail2banMqttActionBanishment.git
synced 2026-08-24 03:11:58 +02:00
33 lines
1.2 KiB
Desktop File
33 lines
1.2 KiB
Desktop File
[Unit]
|
|
Description=Fail2banActionBanisher - émetteur : relais vers le master (master_client, SYNC_BAN)
|
|
After=network.target mosquitto.service
|
|
Requires=mosquitto.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=__EMITTER_USER__
|
|
Group=__EMITTER_GROUP__
|
|
WorkingDirectory=__EMITTER_DIR__
|
|
EnvironmentFile=__ENV_FILE__
|
|
Environment=DJANGO_SETTINGS_MODULE=config.settings.production
|
|
Environment=PYTHONUNBUFFERED=1
|
|
ExecStart=__EMITTER_DIR__/.venv/bin/python manage.py master_client
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
|
|
# Pas de NoNewPrivileges=true ici, contrairement aux autres services de
|
|
# l'émetteur : ce process a structurellement besoin d'escalader via sudo
|
|
# (execute_sync_ban -> `sudo fail2ban-client set master-sync banip <ip>`,
|
|
# cf. master_client.py). NoNewPrivileges bloque tout mécanisme de gain de
|
|
# privilège au niveau execve, y compris le setuid de sudo lui-même — sudo
|
|
# échoue alors avec "the 'no new privileges' flag is set", quels que soient
|
|
# les droits sudoers. Repéré seulement en conditions réelles (le premier
|
|
# vrai SYNC_BAN reçu d'un autre noeud) : les tests précédents mockaient
|
|
# subprocess.run, donc n'exerçaient jamais cette interaction avec systemd.
|
|
ProtectSystem=strict
|
|
PrivateTmp=true
|
|
ReadWritePaths=__EMITTER_DIR__
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|