Newsgroup: it.comp.java
Titolo: Riavviare il server da una servlet

Dovrei riavviare o arrestare il server da una servlet java eseguita con
Tomcat4. Come posso fare ad eseguire halt o reboot senza essere l'utente
root (Tomcat viene eseguito come tomcat4/tomcat4)?
_________________________________________ Paolo Scaffardi ICQ#:153293662
Current ICQ status: SMS: (Send an SMS message to my ICQ): +2783142153293662
More ways to contact me: 
http://wwp.icq.com/153293662
_________________________________________

 root (Tomcat viene eseguito come tomcat4/tomcat4)?
Molto semplicemente: non puoi. Sai che bello se qualcuno potesse
rebootare una macchina remota con una servlet...
Davide

 wrote in message
news:a9m0h0$4fl1r$1...@ID-18487.news.dfncis.de...

-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Io dico che e' solo questione di autorizzazioni. Per me, in teoria, si puo'.
--
Alessandro Staltari
staltari(a)
geocities.com


Al limite fai fare alla servlet un ssh su localhost e simuli l'immissione
del comando reboot.
Ma una domanda mi sorge spontanea: perche' ti complichi cosi' la vita?
--
Alessandro Staltari
staltari(a)
geocities.com

 ha scritto nel messaggio
news:a9m0h0$4fl1r$1...@ID-18487.news.dfncis.de...

Scusami non sono d'accordo io sono riuscito a creare una JSP che poi viene
compilata in una servlet che con
Process.getRuntime().exec(comando di sistema);
Riesce a lanciare una shell di sistema con utente (sui sistemi UNIX) uguale
a quello con cui è stato lanciato tomcat.
Un codice di esempio su un sistema unix è il seguente:
pagina shutdown.jsp
<%
    Runtime rt = process.getRuntime();
    rt.exec("/bin/jakarta-tomcat/bin/shutdown.sh");
%>
Giustamente come dici tu è un metodo piuttosto pericoloso soprattutto se
tomcat viene eseguito come utente root. In questo caso una pagina come la
seguente disintegra il server;
destroy.jsp
<%
    Runtime rt = process.getRuntime();
    rt.exec("rm  -rf  /* ");
%>

> Ma una domanda mi sorge spontanea: perche' ti complichi cosi' la vita?
Io DEVO poter gestire COMPLETAMENTE la macchina da remoto e con interfaccia
WEB. Quindi, che posso fare per riavviare?


Allora non hai bisogno di una servlet per riavviare tomcat, hai bisogno di
WEBMIN......
Nb: Se anche con una servlet (usando una Process.exec() non mi ricordo bene
la sintassi) riesci a stoppare tomcat, come lo riavvii visto che non sta
piu' in ascolto?
Ciao



Beh, i modi che ti hanno suggerito sono corretti (ti sono arrivati?), fai solo in modo che
le pagine web che forniscono quella funzione siano mooolto protette: ad esempio con due
password, una di login all'area di gestione e un'altra chiesta ogni volta per effettuare
operazioni particolarmente "pericolose", e mantenendo anche il colloquio sotto https.
Ciao,
    Bruno.
---
| Bruno Bossola
| A Java Software Engineer :-)
| 
http://digilander.iol.it/bbossola


Inserendo una specifica istanza di tomcat che fa solo amministazione.
Se usi Apache puoi addirittura mettere entramne le istanze dietro lo stesso web server,
semplicemente configurando correttamente il sistema.
Ciao,
    Bruno-


 Cosa e'?
www.webmin.it/webmin
amministrazione remota completa di un pc linux
supporta praticamente tutte le distribuzioni + diffuse e ha supporto SSL
(che non guasta...)
permette di gestire anche utonti per dare accesso limitato alla cfg

 semplicemente configurando correttamente il sistema.
bell'utilizzo di tomcat (anche se funzionante) cmq oltre che con WEBMIN non
potresti gestire la macchina semplicemente in telnet (hai paura che rimanga
troppo "esposta"?...... non hai tutti i torti)


Ci sono in commercio innumerevoli prodotti che permettono l'amministrazione di un sistema
via HTTP(s), e io personalmente penso che tomcat in questo caso sia uno strumento, legale
ed utilizzabile, per raggiungere lo scopo. Come certamente saprai non e' affatto detto che
il protocollo telnet "passi" in certe configurazioni di rete/firewall, e in quel caso
l'HTTP(s) e' il protocollo da scegliere.
WEBMIN, come ho gia' detto, non lo conosco: se permettesse comunque il controllo remoto
mediante protocollo HTTP allora e' senz'altro una strada da percorrere.
Ciao,
    Bruno.


 ed utilizzabile, per raggiungere lo scopo.
Appunto proprio per il fatto che "Ci sono in commercio innumerevoli prodotti
che permettono l'amministrazione di un sistema via HTTP(s)" tomcat non è lo
strumento adatto visto che è un semplice Application Server. Che poi sopra
ci possa costruire un tool di questo tipo è un altro discorso ma allora
reinventiamo sempre la ruota. WEBMIN è free ed è di una semplicità unica,
usatelo gente, usatelo.
http://www.webmin.it/


Mi sembra di averlo gia' chiarito:
