Rafael Sarti Postado Agosto 15, 2007 Denunciar Share Postado Agosto 15, 2007 Bom Galera,Primeiro post meu aqui vamos lá com a minha duvida que não achei nada na internet.Seguinte estou fazendo um sistema que e preciso dar comandos para a shell é simples<? shell_exec("shutdown -r 0") ;?>Mais quando executo essa pagina pelo Browser nada acontece, mais se entrar pela shell e digitar#server: php /var/www/reiniciar.phpAi a maquina reiniciar e executa o comando normalmente..alguém pode me ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Agosto 16, 2007 Denunciar Share Postado Agosto 16, 2007 Seguinte estou fazendo um sistema que e preciso dar comandos para a shell é simples<?shell_exec("shutdown -r 0") ;?>Mais quando executo essa pagina pelo Browser nada acontece, mais se entrar pela shell e digitar#server: php /var/www/reiniciar.phpAi a maquina reiniciar e executa o comando normalmente..alguém pode me ajudar?Quando voce executa a página pelo Browser o usuário que executa não é o root e sim o nobody.Se voce tentar executar esse comando como nobody receberá um erro como resultado.Para resolver isso voce poderia executar as páginas como root, mas isso é muito inseguro.Na minha opinião uma opcão mais segura seria ativar o bit SUID do comando desejado, assim:chmod 4755 /sbin/shutdownmas ai voce pergunta o que seria esse bit SUID?Esse bit SUID foi justamente criado para esse seu problema. É um tipo de permissão especial que permite que um usuário comum execute algo que ele não tenha permissão. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 heltonritter Postado Dezembro 19, 2007 Denunciar Share Postado Dezembro 19, 2007 mas assim você está dando permissões para qualquer usuário desligar o PC, isso é um risco também!Mais quando executo essa pagina pelo Browser nada acontece, mais se entrar pela shell e digitar#server: php /var/www/reiniciar.phpAi a maquina reiniciar e executa o comando normalmente..Quando você executa php pela linha de comando, o processo roda sob o usuário que fez a requisição, se for pela web, sempre vai ser o usuário do apache (wwrun, nobody...)Ou seja, pela linha de comando o teu script vai fazer o que o usuário que executa ele tem permissão. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 19, 2007 Denunciar Share Postado Dezembro 19, 2007 O risco é de desligar o computador.E é justamente isso que ele precisa.mas assim você está dando permissões para qualquer usuário desligar o PC, isso é um risco também!Mais quando executo essa pagina pelo Browser nada acontece, mais se entrar pela shell e digitar#server: php /var/www/reiniciar.phpAi a maquina reiniciar e executa o comando normalmente..Quando você executa php pela linha de comando, o processo roda sob o usuário que fez a requisição, se for pela web, sempre vai ser o usuário do apache (wwrun, nobody...)Ou seja, pela linha de comando o teu script vai fazer o que o usuário que executa ele tem permissão. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Rafael Sarti
Bom Galera,
Primeiro post meu aqui vamos lá com a minha duvida que não achei nada na internet.
Seguinte estou fazendo um sistema que e preciso dar comandos para a shell é simples
<?
shell_exec("shutdown -r 0") ;
?>
Mais quando executo essa pagina pelo Browser nada acontece, mais se entrar pela shell e digitar
#server: php /var/www/reiniciar.php
Ai a maquina reiniciar e executa o comando normalmente..
alguém pode me ajudar?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.