From 743a4b6057fea5f74598300fa2e47274a1498d68 Mon Sep 17 00:00:00 2001 From: tecnotel Date: Sat, 16 May 2026 14:55:36 +0200 Subject: [PATCH] feat: installa sudoers argos-update per bottone UI 'Esegui update.sh'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). --- first-setup.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/first-setup.sh b/first-setup.sh index 73f2fb5..b0dc4c0 100755 --- a/first-setup.sh +++ b/first-setup.sh @@ -82,7 +82,19 @@ argos ALL=(ALL) NOPASSWD: /bin/systemctl restart argos-analytics SUDOEOF chmod 440 /etc/sudoers.d/argos-systemctl visudo -cf /etc/sudoers.d/argos-systemctl > /dev/null -success "Sudoers per restart servizi configurato" +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"