nginx no Ubuntu: permissão negada

nginx no Ubuntu: permissão negada

Eu sou novo na administração do sistema. Depois de instalar o nginxvia fantocheno Ubuntu recebo a seguinte saída:

[alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)

[warn] 1898#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1

[emerg] 1898#0: open() "/var/log/nginx/access.log" failed (13: Permission denied)

Como faço para me livrar de todas essas mensagens?

Não quero usar a linha de comando diretamente (chown/chmod) e repeti-la toda vez que criar um novo servidor. Portanto, estou pensando no que deve ser adicionado ao manifesto fantoche.

Qual é a melhor prática de administração de sistemas neste caso: alterar o proprietário/permissões para/var/log/nginx ou armazenar logs em locais diferentes? Se chown/chmod for o caminho a seguir, quais permissões específicas garantiriam o mais alto nível de segurança?

Eu tentei isso, mas não ajudou:

  file { '/var/log/nginx':
    ensure  => directory,
    mode    => '0755',
    owner   => 'www-data',
    group   => 'www-data',
    recurse => true
  }

Editado:

vagrant@precise64:~$ ps aux | grep [n]ginx
root      1001  0.0  0.1  62908  1388 ?        Ss   08:47   0:00 nginx: master process /usr/sbin/nginx
www-data  1002  0.0  0.1  63260  1696 ?        S    08:47   0:00 nginx: worker process
www-data  1003  0.0  0.1  63260  1696 ?        S    08:47   0:00 nginx: worker process
www-data  1004  0.0  0.1  63260  1696 ?        S    08:47   0:00 nginx: worker process
www-data  1005  0.0  0.1  63260  1696 ?        S    08:47   0:00 nginx: worker process

vagrant@precise64:~$ sudo chown -R www-data:www-data /var/log/nginx;
vagrant@precise64:~$ sudo chmod -R 755 /var/log/nginx;
vagrant@precise64:~$ ls -l /var/log/nginx/
-rwxr-xr-x 1 www-data www-data 214 Sep 10 11:07 error.log

Responder1

essepoderia ajudá-lo.

As mensagens que você está recebendo se devem ao fato de você ter iniciado o nginx como usuário não root ou sem usarsudo.

Para se livrar do erro do diretório de log, você deve verificar qual usuário o nginx está executando e conceder as permissões apropriadas para essa pasta (sua regra de fantoche talvez tenha dado direitos para a pasta errada)

A mensagem de aviso que você relatou é acionada pelo fato de que (como afirma o aviso) a diretiva "usuário" deve ser usada SOMENTE quando o processo mestre nginx estiver sendo executado como root.

Responder2

Eu sei que já faz um tempo, mas isso geralmente tem a ver com o SELinux. Tente configurá-lo como permissivo e provavelmente funcionará bem.

informação relacionada