Author: Frederic Mantegazza Date: To: guilde Subject: Re: Re[2]: Communication a travers un socket unix
On Wednesday 22 October 2003 09:36, Philippe B wrote:
> Pour ma part, j'aimerais utiliser le principe de Mysql a savoir faire
> dialoguer 2 elements : 1 serveur web apache + php et un programme
> autonome (en C mais j'préférerais en bash !). Ceci pour executer des
> commandes systemes root sans etre root.
>
> exemple :
>
> un clic sur une page web, la page php execute un code A qui va envoyer
> les informations sur /tmp/secure/toto.sock
>
> un daemon fonctionnant sur la machine va ecouter les informations qui
> proviennent de /tmp/secure/toto.sock et faire une action en
> conséquence. je suis plus clair ?
Dans ton exemple, tu n'utilises pas les sockets, mais soit un fichier, soit
un pipe nomme. C'est different. Est-ce bien ce que tu veux ?
Les sockets permettent de dialoguer entre processus diectement (bon,
derriere, je ne sais pas ce que le systeme fait exactement; mais on s'en
fout).
Mon exemple repond exactement a ton besoin. Ton serveur ce sera ton demon
(c'est le nom qu'on donne a ce genre de programme), et ton client, ton bout
de code PHP. Le serveur web est lui-meme client dans ce cas.
Il faut bien sur adapter le C dans le langage choisi de chaque cote. Pour le
PHP, ca doit etre assez proche, pour le bash, je ne sais pas. Au fait,
pourquoi ne pas faire ton demon en Python ? Il y a tout ce qu'il faut pour
utiliser les sockets...
Ceci-dit, je ne suis pas sur que tout ca soit le solution la plus simple. A
mon avis, executer un petit script qui a les droits suid, et qui lui-meme
va lancer les commandes voulues peut-etre suffisant. Mais *attention*:
reflechis bien a ce que tu fais, car c'est la porte ouverte a des failles
de securite !!!