|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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. 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 ? 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 ! <--> Là, j'avoue qu'il y une subtilité qui m'échappe Merci de m'aider -- Concours de bit entre linuxiens : hcgvzr Hugo (né il y a 1 367 979 756 secondes) |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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) |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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) |
|
![]() |
| Outils de la discussion | |
|
|