nginx en Ubuntu: permiso denegado

nginx en Ubuntu: permiso denegado

Soy nuevo en la administración de sistemas. Después de instalar nginxa través de marionetaen Ubuntu obtengo el siguiente resultado:

[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)

¿Cómo me deshago de todos estos mensajes?

No quiero usar la línea de comando directamente (chown/chmod) y repetirla cada vez que creo un nuevo servidor. Por lo tanto, estoy pensando en lo que se debe agregar al manifiesto de títeres.

¿Cuál es la mejor práctica de administrador de sistemas en este caso: cambiar el propietario/permisos de /var/log/nginx o almacenar registros en una ubicación diferente? Si chown/chmod es el camino a seguir, ¿qué permisos específicos garantizarían el más alto nivel de seguridad?

Intenté esto, pero no ayudó:

  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

Respuesta1

estepodría ayudarte.

Los mensajes que estás recibiendo se deben a que iniciaste nginx como usuario no root o sin usarsudo.

Para deshacerse del error del directorio de registro, debe verificar con qué usuario se está ejecutando nginx y otorgar los permisos apropiados a esa carpeta (su regla de marionetas tal vez le otorgó derechos a la carpeta incorrecta)

El mensaje de advertencia que informó se activa por el hecho de que (como indica la advertencia) la directiva "usuario" debe usarse SÓLO cuando su proceso maestro nginx se ejecuta como root.

Respuesta2

Sé que ha pasado un tiempo, pero esto normalmente tiene que ver con SELinux. Intente configurarlo como permisivo y probablemente funcionará bien.

información relacionada