Selon Edgar Bonet <guilde@???>:
> Le mercredi 24 septembre, Alban Crequy a écrit :
> > system("/bin/sh /home/jabber/cmd.sh $argumentsh");
>
> Si ton script commence par "#!/bin/sh" et qu'il est exécutable, tu n'as
> pas besoin d'invoquer /bin/sh dans l'appel de system. Tu peux écrire
>
> system("/home/jabber/cmd.sh $argumentsh");
>
> et ton noyau se charge d'appeler /bin/sh.
ACHTUNG !
Si c'est comme en Perl - et il n'y a pas de raison -, c'est laisser la porte
ouverte à un *gros* trou de sécurité.
Si l'on ne vérifie pas le PATH *avant* de lancer ta commande, le bin/sh
peut-être n'importe quoi... et donc on peut ainsi ouvrir une faille dans le système.
Donc, lancer system("/bin/sh /home/jabber/cmd.sh... est un moyen terme pour
contourner le problème (on est au moins sûr que c'est /bin/sh qui est appelé).
Sous Perl, on peut lancer l'interpréteur dans un mode « d'entachement » qui
vérifie ce genre de porblème...
PK