+ Responder ao Tópico



  1. Olá pessoal,
    Estou precisando Executar comandos linux de dentro de um arquivo php.
    Eu sei que posso fazer isso com os comandos exec, ou shell_exec no php, mas não está funcionando;
    Se eu mando ele dar um echo exec(ls -l) por exemplo, ele executa numa boa, mas se eu mando ele, por exemplo escrever em um arquivo : exec($arg) sendo $arg = "echo teste >> teste.txt"; ele não faz nada, mas também não retorna nenhum erro. É problema de permissão, estive pesquisando sobre o SUDO, mas não entendi exatamente o que eu tenho que fazer, se alguém pudesse ajudar, ficaria muito grata =]

  2. Deise,

    Tem que ver se o usuário que roda o apache tem permissão para escrever o arquivo. tente colocar o caminho completo:

    $arg = "echo teste >> /tmp/teste.txt";

    por exemplo. Só uma coisinha... verifique, antes de fazer execução de comandos via 'exec' se não é possível executar as mesmas funções usando comandos padrões do PHP. Principalmente se o seu script php for planejado para publicação na web.

    Há que se ter muito cuidado com a segurança.



  3. por exemplo quais comandos padrão do php?
    outra coisa, antes de executar esses comandos, eu preciso que o usuário se logue no linux, através dessa página php, estou usando o seguinte script:
    <?php
    session_start();

    $usuario=$_POST["usuario"];
    $senha=$_POST["senha"];
    $servidor = $_SERVER['HTTP_HOST'];
    $conexao = ftp_connect($servidor);
    if(!$conexao){
    echo "Servidor fora do ar";
    //echo '<META HTTP-EQUIV="REFRESH" CONTENT="2; URL=teste2.html">';

    }else{

    if((empty($senha))or(empty($usuario))){

    echo "Usuario e Senha em branco";
    // echo '<META HTTP-EQUIV="REFRESH" CONTENT="2; URL=teste2.html">';

    }else{

    if (@ftp_login($conexao, $usuario, $senha)) {
    echo "Conexao efetuado com sucesso\n";
    echo "Voce esta conectado como $usuario@$servidor\n";
    echo "Command : \n";
    echo exec("ls -l /var/deise");
    //header("Location: index.html");
    exit;
    } else {
    echo "Usuario ou senha incorretos";
    // echo '<META HTTP-EQUIV="REFRESH" CONTENT="2; URL=teste2.html">';
    }
    }}
    ftp_close($conexao);
    ?>

    Mas não está funcionando, só retorna a mensagem servidor fora do ar, pois ele não consegue estabelecer uma conexão, sendo que estou logada nesse servidor tanto com o WinSCP quanto com o Putty. Será que é por que ele tenta estabelecer a conexão por ftp? Tem algum outro meio de fazer essa autenticação?

    Thanxxx






Tópicos Similares

  1. Como salvar comandos digitados no console em um arquivo?
    Por luisfelipemileo no fórum Linguagens de Programação
    Respostas: 4
    Último Post: 17-04-2009, 16:33
  2. Executar comandos Linux em programas feitos em C
    Por vini_alpha no fórum Linguagens de Programação
    Respostas: 5
    Último Post: 01-06-2005, 06:49
  3. Executar path q estah dentro d um arquivo
    Por demiurgo no fórum Linguagens de Programação
    Respostas: 4
    Último Post: 04-01-2005, 15:56
  4. descobrir numero de paginas em um arquivo q sera impresso
    Por chester no fórum Servidores de Rede
    Respostas: 5
    Último Post: 01-06-2004, 07:06
  5. criando lista de usuarios em um arquivo....
    Por Dex no fórum Servidores de Rede
    Respostas: 1
    Último Post: 28-04-2004, 12:25

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L