gravar permissões no diretório montado para o usuário do apache

1

Desculpe por talvez uma pergunta boba / básica ...

Eu tenho o diretório /var/www/html/logs . De / var para html owner:group é root:root e as permissões são drwxr-xr-x . Mas o diretório "logs" tem apache:apache e drwxrwxr-- . Webserver, neste caso, é capaz de gravar logs [na verdade não webserver, mas a função personalizada do php]

Outro caso é /mnt/d5/logs

Tentando escrever lá, sem sucesso. /mnt/d5 tem root:root permissões com drwxr-xr-x , hovewer "logs" dir tem apache:apache com drwxr-xr-x , o mesmo que o primeiro caso.

Minha pergunta é: por que, no primeiro caso, os direitos intermediários não são tomados no caso? Isso está relacionado ao DocumentRoot da configuração do apache?

Qual é a melhor maneira de resolver a situação atual? Está dando 0777 direitos é o caso certo?

P.S: Centos 6, sem SELinux

=== EDITADO ===

$logDir = Yii::app()->params['phantomDir'] .....;
$pipeTo = $logDir . DIRECTORY_SEPARATOR . 'script.log';
DirectoryHelper::createDirectory($logDir);
exec('phantomjs ..with its params... > ' . $pipeTo);
...

public static function createDirectory($path, $mode = 0777)
    {
        $oldmask = umask(0);
        if(file_exists($path) == false) {
            mkdir($path, $mode,true);
        }
        umask($oldmask);
    }
    
por Velaro 27.06.2018 / 08:53

1 resposta

0

Talvez a permissão do grupo seja o problema? Experimente:

chmod 775 /mnt/d5/logs
    
por 29.06.2018 / 12:17