Arrêter ou rebooter un pc a distance

L’autre solution simple, et qui n’ouvre pas grand chose au niveau de la sécurité, est bien l’utilisation de sudo, en décrivant strictement les commandes utilisables (Lignes à ajouter à /etc/sudoers grâce à visudo) :

www-data ALL=NOPASSWD: /sbin/shutdown -h now www-data ALL=NOPASSWD: /sbin/shutdown -r now

De cette façon, apache (www-data) aura accès à ces deux uniques commandes (Arrêt et Reboot) sans demande de mot de passe.

Ensuite, depuis ton script PHP, tu pourras appeler ces commandes en respectant exactement la syntaxe déclarée dans sudoers :

exec('sudo /sbin/shutdown -h now'); # Arrêt du système exec('sudo /sbin/shutdown -r now'); # Reboot du système

PS : Merci à agentsteel de m’avoir fait découvrir ‘Ajenti’, projet très propre à suivre de près !

autant pour un shutdown -h via sudo, j’approuve (c’est ce que j’ai proposer plus haut), autant pour le reboot, je suis plus circonspect.
Un individu mal intentionné pourrais véroler la machine pour en prendre le contrôle aprés un reboot. alors que si je vois ma machine éteinte, je me pose des questions avant de la remèttre sur internet.