Permissões em arquivos de log nginx

1

Eu tenho um ambiente PHP / nginx no OS X, que é implantado em um servidor Ubuntu.

No OS X, o nginx é configurado com o Homebrew, assim meu usuário (" joe ") possui os arquivos, enquanto no Ubuntu o nginx é instalado com o sudo e, portanto, de propriedade do superusuário.

Desse modo, a gravação em logs de erros falha quando eu executo scripts PHP a partir da linha de comando no Ubuntu, já que meu usuário pessoal não tem permissões para os arquivos de log nginx como no OS X.

Possíveis soluções em que pensei:

  • Basta definir chmod o+rw nos arquivos de log no Ubuntu.
  • Adicione joe como membro de adm no Ubuntu e faça chmod g+w nos arquivos de log.
  • Suprimir o registro de erros da CLI completamente.

Suponho que alterar os nomes de usuários e grupos ( _www , www-data e add ) não seja uma boa ideia, pois eles são padronizados.

Sou root e o único usuário em ambos os sistemas. Mostrando abaixo meu manipulador de erros (simplificado) e como a configuração e as permissões são configuradas por padrão.

Manipulador de erros:

function error_handler($mask, $error, $file, $line) {
    error_log("$text\n", 3, "/var/log/nginx/php.log");
}

OS X:

nginx.conf:
user joe _www;

ls:
-rw-rw-r-- joe     _www /var/log/nginx/php.log

Ubuntu:

nginx.conf:
user www-data;

ls:
-rw-r----- www-data adm /var/log/nginx/php.log
    
por forthrin 03.02.2016 / 11:01

0 respostas