feat: installa sudoers argos-update per bottone UI 'Esegui update.sh'.

Allineato a ARGOS v1.15.0 (16/05/2026) che introduce il bottone
'⬇️ Esegui update.sh' in Release Notes -> Impostazioni (admin only),
permettendo agli operatori di eseguire l'update dal browser senza
SSH al server.

Aggiunto in sezione 3 (utente argos + sudoers), dopo il blocco
argos-systemctl esistente, con stessa struttura:
- /etc/sudoers.d/argos-update con chmod 0440
- visudo -cf per validazione sintassi
- Comando esplicito (no wildcard, no shell generica):
    argos ALL=(root) NOPASSWD: /usr/bin/bash /opt/argos/app/scripts/update.sh
    argos ALL=(root) NOPASSWD: /bin/bash /opt/argos/app/scripts/update.sh

Necessario per nuove installazioni da bootstrap; per sistemi esistenti
l'auto-install e' garantito da update.sh sezione 5c (repo argos).
This commit is contained in:
tecnotel 2026-05-16 14:55:36 +02:00
parent 1d3ac4296a
commit 743a4b6057
1 changed files with 13 additions and 1 deletions

View File

@ -84,6 +84,18 @@ chmod 440 /etc/sudoers.d/argos-systemctl
visudo -cf /etc/sudoers.d/argos-systemctl > /dev/null
success "Sudoers per restart servizi configurato"
# Permetti a user 'argos' di eseguire update.sh via UI (Release Notes -> Esegui update)
# Scope ristretto: SOLO update.sh, no wildcard, no shell generica.
# Path duplicato perché /usr/bin/bash e /bin/bash sono symlink ma sudoers
# matcha sul path esatto richiesto dall'invocatore.
cat > /etc/sudoers.d/argos-update <<'SUDOEOF'
argos ALL=(root) NOPASSWD: /usr/bin/bash /opt/argos/app/scripts/update.sh
argos ALL=(root) NOPASSWD: /bin/bash /opt/argos/app/scripts/update.sh
SUDOEOF
chmod 440 /etc/sudoers.d/argos-update
visudo -cf /etc/sudoers.d/argos-update > /dev/null
success "Sudoers per update.sh da UI configurato"
# ══════════════════════════════════════════════════════════════════════════════
section "4. Struttura cartelle"
# ══════════════════════════════════════════════════════════════════════════════