Definir permissões de arquivo de log lento do php-fpm

1

Eu tenho uma configuração do php-fpm no CentOS 7 com cada usuário tendo seu próprio pool e arquivos de log. Eu quero ter certeza de que cada usuário é capaz de ver seus próprios arquivos de log.

Isso funciona muito bem para o error_log do PHP, que é criado com o mesmo usuário / proprietário do grupo em que os processos do conjunto php-fpm estão sendo executados.

Infelizmente, o slowlog do PHP para cada pool é criado como 'root' com permissões '600'. Existe alguma maneira de configurar o php-fpm para criar o arquivo slowlog com o dono do arquivo correto e / ou com permissões de arquivos configuráveis?

A seguinte configuração:

user = some_user
group = some_group
php_admin_value[error_log] = path-to-logs/php-error.log
php_admin_flag[log_errors] = on
request_slowlog_timeout = 10s
slowlog = path-to-logs/php-slow.log

Resulta nas seguintes permissões de arquivo em path-to-logs:

-rw-r--r-- 1 some_user some_group  7244 Mar 10 22:54 php-error.log
-rw------- 1 root      root        2307 Mar  9 20:21 php-slow.log
    
por prupert 11.03.2015 / 12:32

1 resposta

2

Tanto quanto sei, não há como definir a propriedade ou o nível de permissão diretamente na configuração. Uma solução alternativa é forçar o script a definir essas permissões para você após a reinicialização.

Na verdade, uma maneira muito melhor seria garantir que, com o script logrotate.d, altere o que quer que você tenha definido no script, se você decidir (e deve) rotacionar o slowlog.

Pode parecer estranho que, apesar de definir o log lento no nível do pool (que é executado como o usuário especificado), o slowlog é produzido pelo processo mestre e, portanto, é de propriedade do root.

Definitivamente, deve haver uma configuração no arquivo de configuração para definir o nível de permissão e propriedade, semelhante àquele vinculado por @ sandyskies-chan no comentário

    
por 11.09.2015 / 11:32