#!/usr/bin/env bash # enable-user-agents.sh # Abilita i servizi BastionGuard user-level per tutti gli utenti attivi set -euo pipefail SERVICES=( "BastionGuard-useragent.service" "BastionGuard-ransomware-alert.service" "BastionGuard-ransomware-scanner.service" ) echo "[BastionGuard] Abilitazione servizi user-level..." # Ricarica le unit globali di sistema systemctl daemon-reload || true # Ciclo su tutte le sessioni attive while read -r SID USERNAME; do # ignora root o valori vuoti if [[ -z "$SID" || -z "$USERNAME" || "$USERNAME" == "root" ]]; then continue fi USER_ID=$(id -u "$USERNAME" 2>/dev/null || true) if [[ -z "$USER_ID" ]]; then continue fi echo "[BastionGuard] Sessione $SID utente $USERNAME (UID=$USER_ID)" for svc in "${SERVICES[@]}"; do echo "[BastionGuard] -> abilito $svc per $USERNAME" runuser -l "$USERNAME" -c \ "systemctl --user daemon-reload; systemctl --user enable --now $svc" \ || echo "[BastionGuard] ⚠ impossibile abilitare $svc per $USERNAME" done done < <(loginctl list-sessions --no-legend | awk '{print $1,$3}') echo "[BastionGuard] Fine."