Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Muky

Executar "shell commands" usando um script php

Recommended Posts

Estava tentando executar um comando simples do linux usando um script php mas não obtive sucesso!

<?php

 

shell_exec('mkdir /home/thiago/Documentos/PastaTestes');

 

?>

 

mas só consigo obter a saida de determinados comandos! Com certeza estou fazendo algo errado, ainda mais sobre permissões que eu tenho que dar em determinadas pastas para usuários que fazem requests da web para o servidor, não?

 

 

E sobre os comandos, exec(), shell_exec(), e system()? Podem me explicar como funcionam?

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta mas você não sabe nada sobre a questão de permissões?

 

Eu li o manual mas não saquei muito sobre essas funções, queria outra explicação se possivel!

 

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites
raul@*****-l004:~$ mkdir a
raul@*****-l004:~$ 

Observe, o mkdir não trouxe nenhuma saida, obviamente se vc executasse mesmo pelo php não iria retornar nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

raul@*****-l004:~$ mkdir a
raul@*****-l004:~$ 

Observe, o mkdir não trouxe nenhuma saida, obviamente se vc executasse mesmo pelo php não iria retornar nada.

 

Sim, sim, mas tipo, ele não estava criando, teria algo haver com a permissão dos comandos? ou de criar naquela pasta? Sendo assim, um usuário web seria permissão para a, u, o ou g?

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

u = user -> usuário

g = group -> grupo

o = others -> não usuário e fora do grupo

a = all

 

Para criar/remover diretórios e arquivos, o diretório-pai deve fornecer permissão de escrita:

$ ls -l /
drwx---r-x   root root  /home

Apenas o usuário root pode criar diretórios dentro de [inline]/home[/inline]. Qualquer um pode entrar dentro dela e listar seu conteúdo.

$ ls -l /home
drwx-----x   evandro evandro  evandro

Apenas o usuário evandro lê o conteúdo de e cria arquivos/diretórios em [inline]/home/evandro[/inline]. Todos podem entrar no diretório sem listar o conteúdo

$ ls -l /home/evandro | grep Sites
drwxrwx---   evandro wheel  Sites

Tanto o usuário evandro quanto o grupo wheel podem fazer alterações dentro de /home/evandro/Sites. Exceto para estes dois casos ninguém pode entrar nela nem em seus subdiretórios.

$ su - cobaia
$ groups
cobaia
$ cd /home
$ ls
evandro
$ cd evandro
$ ls
ls: não foi possível abrir o diretório .: Permissão negada
$ cd Sites
cd: can't cd to Sites
$ su - www-data
$ groups
www-data wheel
$ cd /home
$ ls
evandro
$ cd evandro
$ ls
ls: não foi possível abrir o diretório .: Permissão negada
$ cd Sites
$ ls

$ mkdir oliveiraev.com
$ ls
oliveiraev.com

Dúvidas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.