Anonymus Posté 27 Octobre 2004 Posté 27 Octobre 2004 Bonjour, la question est simple, j'ai un fichier que l'on va appeler run, et que je dois lancer en php. Il se trouve dans le répertoire /usr/local/truc/, et donc, à priori, la commande serait : exec("/usr/local/truc/run"); Le problème, c'est que je ne suis pas sûr de cette commande, et aussi que l'utilisateur ne peut être que nico. Autrement dit, il faut tout d'abord envoyer "su nico", puis /usr/local/truc/run", pour qu'il démarre. Tout du moins, c'est ce que je fais sous 'putty'. Comment fait on en php ? Merci
Ganf Posté 28 Octobre 2004 Posté 28 Octobre 2004 - le plus simple est que tu te serves de "sudo", il te permettra de te faire passer pour un utilisateur ou un autre le temps de l'exécution d'une commande. Par contre pour être vraiment utile il faudra faire un peu de configuration - sinon tu fais en sortes que /usr/bin/run appartienne à nico et tu lui fais un "chmod 1755 /usr/bin/run" (oui, j'ai bien mis un 1 en premier). Tous ceux qui exécuteront "run" le feront automatiquement en temps que nico
Anonymus Posté 28 Octobre 2004 Auteur Posté 28 Octobre 2004 J'ai essayé la seconde solution, et... Lorsque j'essaie sur putty, il me ressort ceci : Don't run /usr/local/truc/run with privileged user/group ID (UID < 11, GID < 11) En php, il ne me sort rien J'ai adopté la commande : $output =`/usr/local/truc/run -a`; echo "<pre>$output</pre>";echo"Fin.."; Pourtant, il y a bien le 1 de 1755 qui s'est mis en place, apparemment. Et pour une autre commande (qui n'a rien à voir..), il me ressort bien le résultat. Donc la commande devrait être bonne à priori. Je ne sais pas si ce ne serait pas le programme qui serait 'protégé' pour ne fonctionner qu'avec un certain 'user'. Pour info, il est écrit en C++, ce qui me limite considérablement quant à jeter un oeil dedans.. Il n'y a pas possibilité de passer plusieurs commandes de suite ? Du style 'instaurer un dialogue'. De plus (tant que j'y suis), le programme peut mettre 'vraiment' très longtemps à s'executer. Les infos devraient s'afficher au fur et à mesure, ou un truc comme ca. Des idées ? Merci.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant