cp: não é possível criar um arquivo regular: Permissão negada

1

Estou executando um script PHP no meu servidor Apache e, do script, preciso copiar alguns arquivos (para executar um script Bash que copie arquivos). Eu posso copiar para um diretório /tmp sem problemas, mas quando eu quiser copiar para /tmp/foo , eu recebo este erro:

cp: cannot create regular file '/tmp/foo/file.txt': Permission denied

mesmo que as permissões para o diretório /tmp e /tmp/foo estejam definidas para o mesmo valor.

Você sabe qual é o problema? Procurei respostas para perguntas semelhantes, mas nada me ajudou até agora.

    
por GorTeX 03.09.2018 / 21:02

1 resposta

2

/tmp O diretório tem todas as permissões (leitura / gravação) para todos os usuários. mas se você criou /tmp/foo por conta própria, ele tem suas permissões apenas para você! Se você quiser torná-lo gravável para outros usuários (ou programas) altere sua permissão com este comando:

chmod 777 /tmp/foo

Se você tiver outros arquivos dentro deste diretório antes, adicione -R flag ao comando acima.

Atualização: Use este comando para alterar o /tmp/foo owner do seu próprio para o usuário padrão do apache:

sudo chown www-data:www-data /tmp/foo -R

também verifique sua configuração do apache2 para ver qual usuário possui para executar os scripts php.

    
por 03.09.2018 / 21:07