Autor Tópico: Script .sh via html ou php  (Lida 10176 vezes)

Offline rodrigo286

  • Usuário Ubuntu
  • *
  • Mensagens: 59
    • Ver perfil
Script .sh via html ou php
« Online: 21 de Julho de 2011, 23:44 »
Eai gente, sou novo no forum mas ja uso o ubuntu a alguns meses, gostaria de saber se é possivel executar um script .sh do meu VPS usando um script rodando em uma pagina HTML ou PHP,
Isoo seria muito interessante,

Obrigado Agradeço desde já.
« Última modificação: 24 de Julho de 2011, 12:42 por rodrigo286 »

Offline Kriptolix

  • Usuário Ubuntu
  • *
  • Mensagens: 314
    • Ver perfil
    • Kriptolix
Re: Script .sh via html ou php
« Resposta #1 Online: 22 de Julho de 2011, 10:46 »
é sim, num script php basta usar a funçao exec, essa funçao roda qualquer comando como se fosse rodado pelo shell, sendo assim é possivel rodar qualquer script usando o comando do shell pra rodar esse script dentro da funçao exec.

ps: com HTML nao é possivel.
Ubuntu Linux 10.10

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.369
  • @Ceará
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #2 Online: 22 de Julho de 2011, 10:53 »
é sim, num script php basta usar a funçao exec, essa funçao roda qualquer comando como se fosse rodado pelo shell, sendo assim é possivel rodar qualquer script usando o comando do shell pra rodar esse script dentro da funçao exec.

ps: com HTML nao é possivel.

Como diria Tio Ben: "Grandes poderes trazem grandes responsabilidades".
Cuidado com o uso do exec.
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline rodrigo286

  • Usuário Ubuntu
  • *
  • Mensagens: 59
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #3 Online: 22 de Julho de 2011, 11:21 »
To falando algo tipo assim, la na minha hospedagem tem um arquivo .php pela web de outro lugar eu ativo um comando tipo:

/srcds/27018/start.sh

Isso só digitando o endereço na web tipo:

http://ipdosvps/ligar/ligar.php

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.369
  • @Ceará
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #4 Online: 22 de Julho de 2011, 14:40 »
To falando algo tipo assim, la na minha hospedagem tem um arquivo .php pela web de outro lugar eu ativo um comando tipo:

/srcds/27018/start.sh

Isso só digitando o endereço na web tipo:

http://ipdosvps/ligar/ligar.php

Sim, exatamente como o kriador explicou
http://php.net/manual/en/function.exec.php
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline rodrigo286

  • Usuário Ubuntu
  • *
  • Mensagens: 59
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #5 Online: 22 de Julho de 2011, 14:46 »
Então eu tinha feito assim antes de criar o tópico mas não deu certo, o que eu fiz de errado?

Código: [Selecionar]
<?php
echo "Ligando Server...";
exec("/serversjogos/srcds/orangebox/start_serve_27018.sh start");
?>

Offline bitetti

  • Usuário Ubuntu
  • *
  • Mensagens: 103
  • Spartans to night we dinner with Mickey Mouse!!!
    • Ver perfil
    • Wild Witch Project
Re: Script .sh via html ou php
« Resposta #6 Online: 22 de Julho de 2011, 15:59 »
o comando exec e o shell_exec estão todos subordinados ao usuário do apache, geralmente o www-data.
Se ele nao tem permissão ele não funciona mesmo, acho q ele tem q fazer parte do grupo sys.
 

Offline rodrigo286

  • Usuário Ubuntu
  • *
  • Mensagens: 59
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #7 Online: 22 de Julho de 2011, 16:30 »
Voce quer dizer por o start_serve_27018.sh eo start.php com permissao 777?

o start.php ja está assim...

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #8 Online: 22 de Julho de 2011, 20:33 »
Não, significa que quem roda o que foi passado via exec/shell_exec é o usuário do apache. Exemplo simples

Código: [Selecionar]
<?php
$res 
shell_exec("whoami 2>&1 &");
# vai mostrar quem voce e
echo $res
?>


Você provavelmente vai ter que alterar o seu script e/ou alguma coisa no sistema, só fornecendo mais detalhes para ser mais preciso.

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.369
  • @Ceará
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #9 Online: 23 de Julho de 2011, 09:35 »
O arquivo .sh faz o que?
Você roda sem privilégios de sudo?
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline rodrigo286

  • Usuário Ubuntu
  • *
  • Mensagens: 59
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #10 Online: 23 de Julho de 2011, 14:01 »
ele vai dar o comando:

Código: [Selecionar]
./srcds_run -console -game cstrike +map de_dust2 +maxplayers 16 -autoupdate -pingboost 1 -tickrate 66 -port 27018
Esse é o .sh que fica na pasta /serversjogos/srcds/orangebox/

eo start.php fica na pasta /var/www/

Abraço.

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.369
  • @Ceará
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #11 Online: 23 de Julho de 2011, 16:36 »
ele vai dar o comando:

Código: [Selecionar]
./srcds_run -console -game cstrike +map de_dust2 +maxplayers 16 -autoupdate -pingboost 1 -tickrate 66 -port 27018
Esse é o .sh que fica na pasta /serversjogos/srcds/orangebox/

eo start.php fica na pasta /var/www/

Abraço.

Você consegue dar este comando como usuário comum?
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline rodrigo286

  • Usuário Ubuntu
  • *
  • Mensagens: 59
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #12 Online: 23 de Julho de 2011, 17:12 »
Não, somente como root.

Pois criei um usuario com o adduser pr proftpd, mas essa conta loga mas nao tem permissão pra rodar comando...

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #13 Online: 24 de Julho de 2011, 11:46 »
É realmente necessário rodar isso como root? Fica mais seguro se você não usar um usuário com poder de fazer qualquer coisa. Voltando ao assunto, uma saída seria criar um grupo com poder de rodar isso, depois você adicionaria o usuário que roda o apache nele.
« Última modificação: 24 de Julho de 2011, 11:47 por irtigor »

Offline rodrigo286

  • Usuário Ubuntu
  • *
  • Mensagens: 59
    • Ver perfil
Re: Script .sh via html ou php
« Resposta #14 Online: 24 de Julho de 2011, 12:42 »
Bom ja consegui usar paineis feitos para isso no caso GamePanelX e Swiftpanel então não preciso mais disso, obrigado gente, foi resolvido.