Desligar ou reiniciar Linux com php via url

149 views
Skip to first unread message

Udson Assis

unread,
Feb 16, 2013, 1:00:42 PM2/16/13
to list...@googlegroups.com
Amigos,

To precisando reiniciar meu servidor via url, pensei em fazer com php, porém da forma que fiz se eu executo no console funciona, mais quando envio a variavel via url nao funciona, segue codigo abaixo:

<?php
$acao = $_GET["acao"];
if($acao == "reboot"){

   shell_exec('/sbin/reboot');

        echo "Reiniciando....";
exit;
          }
        else if($acao == "halt"){

   shell_exec('/sbin/shutdown -h now');

        echo "Desligando....";
exit;
        }
?>

Conto com ajuda dos colegas.


Udson Assis
BrfoneTelecom | Mixshopp
www.brfonetelecom.com.br -- www.mixshopp.com.br
E-mail: con...@brfonetelecom.com.br
Skype: udson.assis
Gtalk: udson...@gmail.com
Tel.: (31) 4062-7899

Joubert Guimarães de Assis

unread,
Feb 18, 2013, 2:44:25 PM2/18/13
to list...@googlegroups.com
provavelmente você o php esta sendo executado com o usuário/grupo www-data, httpd ou apache2. Estes usuários não tem permissão para executar reboot.


--
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "LISTA PHP" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para listaphp+u...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Robson Alexandre

unread,
Feb 18, 2013, 4:57:44 PM2/18/13
to list...@googlegroups.com

É isso aí Joubert
Mas pode se dar a permissão

chmod +s /sbin/reboot

Atenciosamente
Robson Alexandre

Enviado de Android Samsung Mobile

Marcos Carraro

unread,
Feb 20, 2013, 6:50:54 PM2/20/13
to list...@googlegroups.com
vim /etc/sudoeres

adiciona o usuário do apache para poder executar o /sbin/reboot com permissao de root sem pedir senha.

--
Att
Marcos Carraro


2013/2/18 Robson Alexandre <alexand...@gmail.com>

Vinicius Rezende

unread,
Feb 21, 2013, 2:23:45 PM2/21/13
to list...@googlegroups.com
Por motivos de segurança não recomendo liberar root para usuário apache.
Deixe rodando jobs(como root) que verifiquem a existencia de um
arquivo "lock"(como apache) e dependendo do nome do arquivo resulta em
uma ação

if [ -f /util/reboot ] then
reboot
fi

E no php basta um touch :)

Vinicius Rezende

unread,
Feb 21, 2013, 2:24:03 PM2/21/13
to list...@googlegroups.com
Ah, não esquecendo de remover o arquivo antes do reboot

2013/2/21 Vinicius Rezende <crazy...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages