Java php redhat

wysinet Messages postés 2 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 12 mars 2003 - 11 mars 2003 à 10:13
wysinet Messages postés 2 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 12 mars 2003 - 12 mars 2003 à 14:47
Salut,
j'ai un serveur dedie sur lequel je viens d'installer java,
tout va bien quand je me connecte en SSH,
par contre, je n'arrive pas a faire executer java, par exemple via :

$string="/usr/java/jre1.3.1_07/bin/java -cp ".$CamiJar." crAnd firma ".$Cadena." ".$CamiEPF." ".$ComerciantCodiTPV ." > ".$CamiKey;
$command = shell_exec($string);


ca ne me renvoi rien et ne cree pas le fichier??
est ce un probleme de permissions qui empecherais d'executer le java sans etre loggue ?
si oui ca ce parametre ou ?

Merci d'avance
Jean-Christophe

2 réponses

willowman Messages postés 143 Date d'inscription vendredi 5 juillet 2002 Statut Membre Dernière intervention 18 mars 2006 1
12 mars 2003 à 06:03
Salut,

Il semblerait que ce soit un probleme de droits d'acces (droits d'execution plus precisement) sur le binaire java.

Tu dis n'avoir aucune trace dans tes fichiers de log. Meme au niveau access_log et error_log ? Tu utilises un virtual host dans ton apache ?

Bref, ceci etant, verifie que ton user sous apache (ce doit etre apache ou nobody) ai les droits d'execution sur ta commande java du JRE. Il semblerait que non, puisque cette derniere se trouve sous /usr/java/jre1.3.1_07 ect....

De deux choses l'une :

- soit tu autorises l'execution sur ton binaire java, pour nobody/apache, ce qui serait le plus simple ! (mais soit dit en passant, tu serais FOU de faire cela a proscrire !!!)

- soit tu utilises SUDO, pour octroyer les droits a tes users. Via l'utilitaire visudo, cela donnerait un truc du genre :

"Cmnd_Alias JAVA_JRE=/usr/java/jre1.3.1_07/bin/java"
"Host_Alias SERVEUR=localhost,@ip"
"User_Alias WEB_USER=apache,nobody"
"WEB_USER SERVEUR=NOPASSWD:JAVA_JRE"

Ce qui aura pour effet de creer un alias vers ta commande 'java', et de permettre aux utilisateurs de WEB_USER (ici apache, nobody) se connectant depuis SERVEUR (ici ta machine locale) a l'utiliser; sans demande de mot de passe (NOPASSWD) !

Relance sudo apres les modifs dans le fichier sudoers.

Maintenant, utilises :

$chaine="sudo -u apache /usr/java/jre1.3.1_07/bin/java -cp ect...."

Sur ce, bon courage.

A pluche !
0
wysinet Messages postés 2 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 12 mars 2003
12 mars 2003 à 14:47
Hello,
merci bcp pour te reponse, la seule solution que je voyais etais de donner les droits mais comme tu dis, je suis pas fou du moins pas encore et ne connaisant pas sudo, je voyais pas comment faire,
j'ai essaye de faire ca

Host_Alias SERVEUR=localhost
User_Alias WEB_USER=nobody,test
Cmnd_Alias JAVA_JRE=/usr/java/jre1.3.1_07/bin/java

root ALL=(ALL) ALL
WEB_USER SERVEUR=NOPASSWD:JAVA_JRE

test c'est pour essayer en me connectant en ssh pour voir ce que ca donnait,
sur le web ca ne change rien, par contre avec l'utilisateur test en ssh, si je lance la commande, il me demande un password, or si j'ai bien capte, il ne devrait pas ?
ou alors j'ai rate un episode ?

en tout cas un grand merci car maintenant j'ai enfin une piste ;=)

a peluche
0
Rejoignez-nous