Como executar um comando em shell script pelo navegador [RESOLVIDO]

1. Como executar um comando em shell script pelo navegador [RESOLVIDO]

NORTON DAVID GOMES DA SILVA
goback

(usa Debian)

Enviado em 17/01/2013 - 00:12h

Ola sou novato aqui..Estou tentando executar um shell scrpit atraves do navegador mais não dar certo, sera se isso e possivel....quando executo pela linha de comando da certo...

EXEMPLO:

Os dois arquivos estão dentro da pasta /var/www/

------pagina.php------
<php

exec('./teste.sh');

?>
----------------------


------teste.sh--------
#!/bin/bash

function criar()
{
mkdir pasta
}

criar
----------------------

O que devo fazer para conseguir fazer isso?


  


2. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

Tulio Amancio
tsuriu

(usa Manjaro Linux)

Enviado em 17/01/2013 - 01:00h

Cara da uma olhada aqui...


http://www.vivaolinux.com.br/dica/Executando-comandos-do-sistema-com-PHP


E além disso você pode por seu script com um comando do linux



$ sudo cp script.sh /usr/bin/
$ sudo chmod +x /usr/bin/script.sh



Fazendo isso é só chamar o nome do script sem precisar por o ./


3. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 17/01/2013 - 09:19h

tsuriu escreveu:
$ sudo cp script.sh /usr/bin/
$ sudo chmod +x /usr/bin/script.sh


Fazendo isso é só chamar o nome do script sem precisar por o ./


Eu não recomendo colocar coisas locais nos diretórios do sistema. O melhor mesmo é trabalhar com caminhos completos, ou ajustar o valor da variável de ambiente PATH para incluir diretórios selecionados.


4. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/01/2013 - 12:14h

paulo1205 escreveu:

tsuriu escreveu:
$ sudo cp script.sh /usr/bin/
$ sudo chmod +x /usr/bin/script.sh


Fazendo isso é só chamar o nome do script sem precisar por o ./


Eu não recomendo colocar coisas locais nos diretórios do sistema. O melhor mesmo é trabalhar com caminhos completos, ou ajustar o valor da variável de ambiente PATH para incluir diretórios selecionados.


E além do que o colega paulo1205 mencionou um lugar melhor para adicionar scripts/comandos de autoria própria seria o /usr/local/bin. Esse é um padrão amplamente usado.

Recomendo que ajuste a permissão de execução do script em questão para ser excutado apenas pelo usuário do Apache.

BOA SORTE!!!


5. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

NORTON DAVID GOMES DA SILVA
goback

(usa Debian)

Enviado em 17/01/2013 - 15:10h

Valeu Galera pela Dica mais o que eu to querendo fazer eu não conseguir ainda...que e executar um script.sh atraves de uma pagina em php....


6. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

Marcelo Silveira Vilar
tchelovilar

(usa Debian)

Enviado em 17/01/2013 - 15:53h

Para você executar o script você precisa passar o caminho completo do script, como você mesmo disse, ele se encontra na pasta /var/www então no arquivo PHP o código tem que ficar:

------pagina.php------
<php

exec('/var/www/teste.sh');

?>
----------------------

Se a sua intenção é criar a pasta dentro de "/var/www", então informe também o caminho completo:

------teste.sh--------
#!/bin/bash

function criar()
{
mkdir /var/www/pasta
}

criar
----------------------

Além disso, como foi falado antes, você tem que dar permissão de execução para o script e a pasta onde você quer criar a nova pasta, precisa de permissão de escrita, supondo que está utilizando Debian, digite os comandos:

# chmod +x /var/www/teste.sh
# chmod u+w /var/www
# chown www-data /var/www

Abraço


7. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

NORTON DAVID GOMES DA SILVA
goback

(usa Debian)

Enviado em 17/01/2013 - 16:52h

Ola tchelovilar blz fiz o que vc falou mais não deu certo e o comando

chmod www-data /var/www/

não deu certo deu erro modo invalido o que ele faz...

e tou executando o pagina.php atraves do navegador : mais não da certo mas quando executo no terminal da certo...


8. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

Marcelo Silveira Vilar
tchelovilar

(usa Debian)

Enviado em 18/01/2013 - 09:38h

goback escreveu:

Ola tchelovilar blz fiz o que vc falou mais não deu certo e o comando

chmod www-data /var/www/

não deu certo deu erro modo invalido o que ele faz...

e tou executando o pagina.php atraves do navegador : mais não da certo mas quando executo no terminal da certo...



Você escreveu o comando errado, olha novamente, o terceiro comando é:
chown www-data /var/www/


O comando comando "chmod" muda as permissões de escrita, leitura e execução para o proprietario, grupo e demais usuários.
E o comando "chown" muda o proprietário e/ou grupo do arquivo.


9. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

Sandro Marcell
smarcell

(usa Slackware)

Enviado em 18/01/2013 - 10:52h

1 - Você deve configurar o 'safe_mode' para 'On' em seu php.ini além da opção 'safe_mode_exec_dir'.
2 - Verifique (no php.ini) se a função 'exec' não está 'bloqueada' para utilização;
3 - O usuário executando o daemon do Apache (apache ou www-data) deve ter permissão de escrita bem como de execução habilitados para o seu shell script e o destino final dele (se for o caso).

Exemplo:

$ cat /etc/php5/apache/php.ini
...
...

// Habilita o modo "seguro" do PHP
safe_mode = On

// Somente os executáveis contidos neste diretório poderão ser executados via PHP
safe_mode_exec_dir = /usr/local/www-bin

...
...


Feito isso:

$ cat /var/www/test.php
<?php
exec('test.sh');
?>


$ cat /usr/local/www-bin/test.sh
#!/bin/sh
mkdir -p /var/www/diretorio


Informações mais detalhadas você encontra na documentação do PHP.


10. Re: Como executar um comando em shell script pelo navegador [RESOLVIDO]

NORTON DAVID GOMES DA SILVA
goback

(usa Debian)

Enviado em 18/01/2013 - 17:18h

Valeu : tchelovilar e smarcell consegui fazer aqui....Obrigado pelas dicas..........Valeu mesmo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts