permissão negada quando o script tenta ser executado

1

Eu tenho um script PHP que executa o seguinte comando usando exec()

/root/gsutil/gsutil <COMMAND>

Nos meus registros de erro, recebo o seguinte:

sh: 1: /root/gsutil/gsutil: Permission denied

Alguém sabe o que posso fazer para permitir que meu script php execute esse comando?

    
por bryan 14.02.2015 / 18:29

1 resposta

4

Qualquer coisa em / root geralmente é de propriedade do usuário raiz. O PHP geralmente não (e por razões de segurança nunca deve) ser executado sob o usuário root. Você deve instalar o gsutil em um local onde o PHP tenha direitos de execução. Por exemplo, copie-o para /var/www :

cp /root/gsutil/gsutil /var/www/gsutil

Eu acho que, no Ubuntu, o PHP normalmente é executado como o usuário www-data (não com 100% de certeza), então você precisa alterar a propriedade do arquivo para esse usuário:

chown www-data.www-data /var/www/gsutil

Finalmente, verifique se o arquivo é executável para o usuário / grupo proprietário (www-data) definindo chmod 770:

chmod 770 /var/www/gsutil

Em seguida, defina seu script PHP para executar /var/www/gsutil e tudo deve ser executado corretamente.

    
por 14.02.2015 / 19:02