#!/usr/bin/env bash
# fix_dominanostra_sudoers_web_recursive.sh
# DA ESEGUIRE SU DOMINANOSTRA (217.182.171.171) come utente con sudo.
# Corregge la regola sudoers: /opt/tinycp/* NON e' ricorsivo in sudo,
# serve /opt/tinycp/** per scendere nelle sottocartelle (es. domains/dominanostra.it/logs).
# READ-ONLY per Hermes: preparato da Hermes, eseguito da Stefano.
set -e

CONF="/etc/sudoers.d/hermes-readonly"

# Rimuove le righe non ricorsive su tinycp e aggiunge quelle ricorsive **
sudo sed -i '/NOPASSWD: \/bin\/cat \/opt\/tinycp\/\*/d' "$CONF"
sudo sed -i '/NOPASSWD: \/usr\/bin\/grep \* \/opt\/tinycp\/\*/d' "$CONF"

sudo tee -a "$CONF" >/dev/null <<'EOF'

# Hermes — lettura ricorsiva TinyCP (con ** per sottocartelle)
monnis ALL=(root) NOPASSWD: /bin/cat /opt/tinycp/**
monnis ALL=(root) NOPASSWD: /usr/bin/grep * /opt/tinycp/**
EOF

sudo chmod 0440 "$CONF"
echo "[*] Validazione sudoers..."
sudo visudo -c
echo "[*] FATTO. Ora Hermes puo' leggere /opt/tinycp/domains/dominanostra.it/logs/*"
echo "[*] Verifica (da Hermes): sudo -n cat /opt/tinycp/domains/dominanostra.it/domain.conf"
