Le 31 Aug 2007 07:54:42 GMT, Hugolino a écrit:
> Bonjour,
>
> J'ai mis un bouton pour démarrer une machine dans une page:
> <form method="post" action="kick-deb.php">
> <input type="submit" value="Kicker Deborah" />
> </form>
>
> Quand je clique ce bouton la page kick-deb.php est bien chargée, tout ce
> passe normalement, sauf que...
>
> <?php
> echo "<-->\n";
> system('TERM=dumb /usr/sbin/etherwake -D 00:E0:4C:02:4C:98');
> //echo htmlentities( system("/usr/local/bin/WOL_Deb"));
> echo "<-->\n";
> system("TERM=dumb /bin/ping -i 5 -w 60 deb");
> ?>
>
> affiche :
>
> <-->
> <-->
>
> et la machine ne s'allume pas.
J'ai eu un crash hier et j'avais réinstallé tous les packages pour être
sûr d'avoir un système en l'état...
Sauf que j'avais oublié que mon script s'exécute avec les permissions de
l'utilisateur www-data alors que etherwake ne fonctionne qu'en root et
donc qu'il fallait qu'il soit setuid, propriété que sa réinstallation
avait annulé.
Bref: laissez tomber, un nouveau 'chmod +s /usr/sbin/etherwake' a remis
les choses en ordre.
> Si je tape "/usr/sbin/etherwake -D 00:E0:4C:02:4C:98", dans un shell,
> ça marche bien sûr.
>
> Quelle est mon erreur ?
De faire ça en root...
> Pire: j'ai eu l'idée d'exécuter le script avec le client php, en tapant
> simplement "php kick-deb.php" et la machine s'est aussitôt allumée et le
> shell depuis lequel j'avais tapé cette commande a bien affiché:
>
> <-->
> The target station address is 00:E0:4C:02:4C:98
> Packet is ....
> ...
> Sento worked !
> <-->
Fait en root aussi
> Là, j'avoue qu'il y une subtilité qui m'échappe
Je vais aller m'aérer un peu (un coup de moto ou de planche, on va voir
ça avec la météo
Désolé pour le bruit.
--
> Faut avoir du temps à perdre.
Lorsqu'il est proféré sur Usenet, cet argument n'a absolument
aucune valeur.
Hugo (né il y a 1 367 995 397 secondes)