Pol Hallen writes:
> mi chiedevo in che modo è possibile utilizzare un'interfaccia web per
> riavvire un servizio (tipo samba) cliccando sul pulsante "riavvia".
Web application che reagisce ad una opportuna post.
> Nel lato pratico: per creare l'interfaccia è meglio usare perl, php, o
> cosa? (a memoria con html non si può... o si?)
Con html non si può, che viene interpretato dal tuo client.
O cosa.
PERL rischia di diventare read only, php pure e in ambedue i casi se
sfondi il programma sei nella macchina, oppure si scaricano i sorgenti
del programma e capiscono come funziona e come farlo malfunzionare per
i loro comodi.
Meglio un linguaggio eseguito da una VM (ruby, Python o Java).
Il tuo programma dovrebbe prendere dalla post le credenziali
dell'utente (ergo, fallo ascoltare su https e non http), verificarle e
poi fare uno shell-out per un bel "service smb restart" (o equivalente
con systemd) che a naso va eseguito con l'ID di root. Meglio usare una
api che permetta di fare lo user switch dall'interno dell'interprete
della web application.
Punti critici di sicurezza:
- l'interprete, sempre aggiornato e non deve girare come root
- la verifica delle credenziali lato server, se usi un DB e non usi un
prepared statement apri la porta a vari tipi di attacchi di SQL
injection (uno script kid con sqlmap può ravanarti il DB e forse la
macchina).
- lo statement utilizzato per riavviare samba. Usare una cosa come
"echo "$PASS_DA_POST" sudo -S -u "$USER_DA_POST" service samba restart"
è una idea sbagliata (non si inietta solo lo SQL).
--
/\ ___ Ubuntu: ancient
/___/\_|_|\_|__|___Gian Uberto Lauri_____ African word
//--\| | \| | Integralista GNUslamico meaning "I can
\/ coltivatore diretto di software not install
già sistemista a tempo (altrui) perso... Debian"
Warning: gnome-config-daemon considered more dangerous than GOTO
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-REQUEST@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a listmaster@lists.debian.org
To UNSUBSCRIBE, email to debian-italian-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 21707.42039.768804.774083@mail.eng.it" target="_blank">https://lists.debian.org/[🔎] 21707.42039.768804.774083@mail.eng.it