2010-05-08 3 views
3

Je souhaite créer une page Web permettant à l'utilisateur de redémarrer le serveur Linux. Évidemment, cela ne serait disponible que pour les admins du système et serait également contrôlé en utilisant iptables. Ci-dessous un exemple de code que je pensais utiliser mais je voulais savoir s'il y avait une autre façon de le faire et comment l'utiliser dans une page web? Est-ce qu'il y a autre chose que je devrais considérer?Créer une page web PHP qui vous permet de redémarrer le serveur sous Linux?

$command = "cat $pass | su -c 'shutdown -r now'"; 
$output = array(); 
try{ 
    echo shell_exec($command); 
    exec($command, $output); 
    system($command, $output); 
} 
catch(Exception $e) { 
    print "Unable to shutdown system...\n"; 
} 

foreach ($output as $line) { 
    print "$line<br>"; 
} 

Merci d'avance.

+1

Les chances sont, l'utilisateur PHP s'exécute sous n'aura pas l'autorisation de redémarrer le serveur. La meilleure chose à faire est d'autoriser spécifiquement PHP à le faire via/etc/sudoers. Cette question, avec un ou deux autres ici sur SO m'a aidé à faire quelque chose de similaire pour mon application: http://stackoverflow.com/questions/113728/php-webpage-doesnt-launch-unix-command-even-after- updated-sudoers –

Répondre

3
+0

Donc, fondamentalement, avoir un script qui se trouve dans un dossier sur le site Web, puis exécutez ce script à partir de la page Web php. Ai-je besoin d'ajouter quelque chose à ce qui précède pour me permettre de faire ceci en spécifiant qu'il s'agit d'un script et non d'une page Web? Y a-t-il quelque chose que j'ai besoin d'ajouter du point de vue des permissions? Merci – aHunter

+1

désolé juste répondu à ma propre question et redémarré mon pc linux. :) Merci – aHunter

Questions connexes