(Courriels de diversion: <tressaillement@debitiez-trotteront.com> <regrettable@barge-chasseur.com> <enfermerais@memoriseras-biffons.com> <cavalieres@calculee-enjoindrons.com> <fluctuaient@remediee-pelerai.com> <amorcable@meditaient-precautionnerez.com> <isobares@drainent-apres-guerre.com> <demolies@fignoles-objectait.com> <joins@accapares-chinee.com> <collectivisiez@interposerait-constaterait.com> )


 > Salut!
Salut a tous,
je suis un nouvel arrivant qui espere apporter sa toute petite 
contribution sur toulouse ;-)

Je suis tombé sur cette question, peut etre je pourrai apporter un 
elementde solution:

 >
 > J'ai trouve deux methodes (a noter que je ne les ai pas teste):
 >
 > * La methode bourin:
 > Editer le fichier "httpd.conf" de apache et definir aux variables "user"
 > et "group" la valeur "root" (au lieu de "nobody" par default).
 > Les commandes seront executees directement en tant que "root", mais
 > la c'est plutot dangereux O_O
 >
 > * La methode light:
 > Donner la permission a "nobody" (ou l'autre nom d'utilisateur specifie
 > dans "httpd.conf") de faire un "sudo".
 > Il n'y a qu'a faire un "exec("sudo macommande");" et ca devrait aller.


Ces méthodes fonctionnent, mais il faut faire attention au cas ou on met 
des variables dans la commande exec(), porte ouverte au "cross-site 
scripting". Donc la méthode requiert de faire hypra attention aux 
erreurs de scripts php, avec les verifications qui vont avec du genre 
utiliser les $HTTP_VARS si on fait du post via un formulaire, interdire 
les caractères spéciaux ... (si on ne met pas de variables dans la 
fonction exec() mais juste la commande, le problème est évidemment levé)

Perso, j'aime pas trop donner les droits d'un sudo à un utilisateur qui 
n'est pas sensé le faire, genre nobody ou www-data, et, dans le cas ou 
on  les donne, je ne sais pas dans quel mesure un utilisateur du net 
sera empeché de faire ce qu'il veut sur la machine puisqu'il a les 
droits du sudo...

Bref, la solution trouvée est de passer par un script CGI codé en bash, 
(ou autre, mais c'est pour reprendre la logique de la question !!). Le 
script prend les droits de l'utilisateur auquel il appartiend, et c'est 
le script qui agit en local sur la machine et non plus directement le 
code php.
Ainsi, toutes les sécurités des utilisateurs sont conservées, et c'est 
le script qui a des droits et non plus l'utilisateur...
Reste évidemment quand même qu'il ne faut pas mettre n'importe quoi dans 
le script ... ;-p

 > Voila, A++

@+, j'espere que j'ai pu un peu aider, toute les remarques sont les 
bienvenues !

 > Choplair *qui s'enfui*

Stéphane *qui arrive*


--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>