Permissão negada ao criar pasta depois de configurar a pasta pai como usuário de www-data

1

na minha configuração phpinfo , vejo o seguinte:

User/Group  www-data(33)/33

No meu diretório /var/www/html/pluto-php/public/ , vejo o seguinte para o data directory inside this path:

4 drwxrwxrwx 2 www-data www-data 4096 Sep 19 23:25 data

Eu também vejo o seguinte para o pluto-php directory

4 drwxr-xr-x  8 root root  4096 Sep 16 21:49 pluto-php

Eu defino o proprietário e o grupo do diretório de dados para www-data. De alguma forma, depois de tudo isso, eu ainda recebo esse erro no meu php code quando executando um script php que cria um diretório dentro do diretório de dados :

Warning: mkdir(): Permission denied in /var/www/html/pluto-php/vendor/pluto/src/Pluto/Stdlib/FilesystemUtils.php on line 32

Eu tentei fazer apache2ctl restart e isso não fez nada.

Eu acompanhei todos os tutoriais na pesquisa do Google e estou preso aqui.

ATUALIZAÇÃO:

Aqui está minha lista de processos

    root@yonaton-Lenovo-V570:/var/www/html# ps aux | grep apache
    root      3234  0.0  0.6 409908 37092 ?        Ss   Sep28   0:09 /usr/sbin/apache2 -k start
    www-data  8516  0.3  0.2 410888 16988 ?        S    10:41   0:00 /usr/sbin/apache2 -k start
    www-data  8517  0.0  0.1 409940 10632 ?        S    10:41   0:00 /usr/sbin/apache2 -k start
    www-data  8518  0.0  0.1 409940 10632 ?        S    10:41   0:00 /usr/sbin/apache2 -k start
    www-data  8519  0.0  0.1 409940 10632 ?        S    10:41   0:00 /usr/sbin/apache2 -k start
    www-data  8520  0.0  0.1 409940 10632 ?        S    10:41   0:00 /usr/sbin/apache2 -k start
    www-data  8521  0.0  0.1 409940 10632 ?        S    10:41   0:00 /usr/sbin/apache2 -k start
    root      8523  0.0  0.0  21292  1088 pts/1    S+   10:41   0:00 grep --color=auto apache
    
por Jonathan Kushner 30.09.2016 / 04:49

2 respostas

0

www-data deve ter acesso de gravação a toda a árvore.

Você pode executar chown -R www-data:yourgroup /var/www/html/pluto-php , em que yourgroup é o nome do grupo do usuário (evite root por motivos de segurança). Se você não especificar seu nome de grupo, não poderá gravar e ler no diretório de dados.

Em seguida, adicione as permissões corretas executando chmod -R 775 /var/www/html/pluto-php .

    
por 03.10.2016 / 22:18
0

A permissão negada é invariavelmente um problema no nível do sistema operacional. Primeiro, verifique se o usuário que você acha que o processo está executando é realmente o usuário relevante. Você parece ter feito isso, mas também verifica se não está executando algo como suexec, mpm_itk ou mod_ruid, o que pode alterar as solicitações individuais do UID executadas como.

Em seguida, verifique se o caminho para o qual você está tentando gravar é atravessado pelo usuário (neste caso, www-data). O comando namei pode ajudar aqui:

namei -mo /var/www/html/pluto-php/public/

Em seguida, verifique se algum software de segurança no nível do SO, como o SELinux ou o Apparmor, está em execução e, se estiver, determine se ele está interferindo no processo que está sendo gravado nesse diretório.

Finalmente, uma permissão de diretório do 0777 nunca é necessária. 1777 possivelmente, mas se você precisar das permissões configuradas para 0777 para que funcione, algo está errado.

    
por 01.10.2016 / 08:41