Shell Script em PHP [RESOLVIDO]

1. Shell Script em PHP [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 12/11/2012 - 18:05h

Boa tarde Pessoal

Estou com dificuldades na execução de shell script. Já dei permissão para o usuário www-data executar como sudo.
tentei utilizar das funções:
exec("sudo ./var/www/script/script.sh", $retorno);
shell_exec("sudo ./var/www/script/script.sh"


não consegui executar o script.

Não preciso que execute na pagina, apenas execute na maquina onde está o script.


  


2. Re: Shell Script em PHP [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 12/11/2012 - 22:05h

Boa noite Pessoal

Consegui resolver, apenas tirei o "." (ponto) da frente do caminho. A função "exec" já foi o suficiente para fazer o que desejava, executar um shell script via PHP.


3. Re: Shell Script em PHP [RESOLVIDO]

NORTON DAVID GOMES DA SILVA
goback

(usa Debian)

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

Ola Lanzao tem como vc tira uma duvida minha: to tentando executar atraves de um pagina em php um arquivo em shellscript arq.sh so que não da certo... ai vi seu post que vc conseguiu...sera se tem como me ajudar..



4. Re: Shell Script em PHP [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 17/01/2013 - 23:50h

Sim posso te ajudar. Qual e a sua situacao?


5. Re: Shell Script em PHP [RESOLVIDO]

NORTON DAVID GOMES DA SILVA
goback

(usa Debian)

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

Tem como eu executar uma arquivo.sh atraves do navegador usando php:
com o seguinte esquema

codigo Php:

<?php

shell_exec('/var/www/arquivo.sh')

?>

e o arquivo.sh

#!/bin/bash

apt-get install openvpn



6. Re: Shell Script em PHP [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 18/01/2013 - 23:40h

Voce tem que adicionar o usuario www-data na lista sudors, porque teu script precisa de privilegio de administrador. Apos posto na lista so executar como no meu exemplo acima sem o ponto.
Estou sem pc agora apenas no celular.


7. Re: Shell Script em PHP [RESOLVIDO]

NORTON DAVID GOMES DA SILVA
goback

(usa Debian)

Enviado em 19/01/2013 - 16:48h

Veleu Lanzao... vo tentar aqui.... obrigadooo



8. Re: Shell Script em PHP [RESOLVIDO]

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 27/03/2013 - 21:34h

Opa!Perguntinha para alguém estou a fazer a mesma coisa, executar um ".sh" via web(php), porém mesmo o script tempo permissão para usuário do apache www-data(com x) e ele não é executo, mesmo colocando em um diretório neutro(tmp), ele não executa
Mas se eu colocar com sudo na frente
(adicionado no sudoers www-data ALL=NOPASSWD: /var/www/relatorios/scripts/test.sh)

Dai coloquei a linha no php


exec("sudo /var/www/relatorios/scripts/teste.sh");

Dessa forma ele executa só com o sudo...

Minha duvida, oara executar o comando o php usa o usuário do apache ou outro???



9. Re: Shell Script em PHP [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 27/03/2013 - 23:02h

Boa pergunta!

1 Faz um script para criar um arquivo txt
2 execute no codigo php
3 digite ls -la dentro do diretorio
4 veja quem e dono do arquivo que o foi criado pelo script.

O dono do arquivo e quem executa o comando.
Acho que assim e possivel descobrir quem esta executando o comando.


10. Re: Shell Script em PHP [RESOLVIDO]

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 27/03/2013 - 23:28h

opa!!
Boa ideia.. irei fazer isso, e posto aqui depois....
Mas mesmo assim eu não teria pensando em usar o sudo(pois o script tem permissão), mas vi seu post e me ajudou... :-D


11. Re: Shell Script em PHP [RESOLVIDO]

Allan
lanzao

(usa Ubuntu)

Enviado em 27/03/2013 - 23:53h

Ficarei aguardando sua resposta, fiquei curioso tambem!


12. Re: Shell Script em PHP [RESOLVIDO]

Carlos APC
Carlos_Cunha

(usa Linux Mint)

Enviado em 28/03/2013 - 22:47h

lanzao escreveu:

Ficarei aguardando sua resposta, fiquei curioso tambem!


Opa! pois ele usa o usuário do apache o www-data, mas percebi o pq do erro, meu script esta no /var/www/sript e meu diretorio default do apache é o /var/www quando acessado pelo navegador o apache direciona para o diretório sem a questão permissões(nem deve), porém quando se executa um script se passa o caminho todo e nesse momento ele e verifica as permissões, no meu caso o www-data não tinha acesso ao /var/www, teste com script que estava no /tmp e sua saída(criaçãod e pasta) era no /tmp e executou.....
Fica ai a dica...



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts