Esto es lo que tengo en ls -al /etc/nginx
:
total 52
drwxr-xr-x. 4 root root 4096 Jul 28 04:16 .
drwxr-xr-x. 78 root root 8192 Jul 28 03:37 ..
drwxr-xr-x. 2 root root 26 Jul 28 03:55 conf.d
drwxr-xr-x. 2 root root 6 May 10 09:21 default.d
-rw-r--r--. 1 root root 1034 May 10 09:21 fastcgi.conf
-rw-r--r--. 1 root root 964 May 10 09:21 fastcgi_params
-rw-r--r--. 1 root root 2837 May 10 09:21 koi-utf
-rw-r--r--. 1 root root 2223 May 10 09:21 koi-win
-rw-r--r--. 1 root root 3957 May 10 09:21 mime.types
-rw-r--r--. 1 root root 1033 Jul 28 03:43 nginx.conf
-rw-r--r--. 1 root root 596 May 10 09:21 scgi_params
-rw-r--r--. 1 root root 623 May 10 09:21 uwsgi_params
-rw-r--r--. 1 root root 3610 May 10 09:21 win-utf
Esto es lo que veo /var/log/nginx/error.log
después sudo service nginx start
:
[emerg] 20360#0: open() "/etc/nginx/conf.d/foo.conf" failed
(13: Permission denied) in /etc/nginx/nginx.conf:33
Esto es lo que tengo en ls -al /etc/nginx/conf.d/
:
$ ls -al /etc/nginx/conf.d/
total 8
drwxr-xr-x. 2 root root 26 Jul 28 03:55 .
drwxr-xr-x. 4 root root 4096 Jul 28 04:16 ..
-rw-r--r--. 1 root root 230 Jul 28 03:50 foo.conf
Que pasa
ls -lZ
muestra? Intentasetenforce 0
ver si funciona.setenforce 0
ayudó. Por favor, envíelo como respuesta, lo aceptaréRespuestas:
Cuando obtiene
permission denied
errores en el acceso a archivos, etc. por razones desconocidas, puede estar relacionado con SELinux. Especialmente cuando ve un período después de los permisos como sedrwxr-xr-x.
muestrals -l
para el archivo / directorio en cuestión, podrían estar mal etiquetados (puede verlols -Z
) y causar el problema.Primero debe verificar el modo SELinux actual ejecutando
getenforce
. Si diceEnforcing
, configure temporalmente el modoPermissive
ejecutandosetenforce 0
y vea si su aplicación funciona después.Por favor, consulte la guía de su distribución en SELinux para solución permanente, incluyendo el ajuste del modo de SELinux en el arranque, volver a etiquetar los archivos o directorios, la actualización de las políticas, etc. Aquí está Howto para CentOS .
fuente
Alterar todo SElinux no siempre es la respuesta correcta. No soy un experto, pero lo compararía con la desactivación del firewall si no se puede acceder a un puerto.
Otra solución rápida podría ser "restaurar el contexto SE" de los archivos, especialmente si se copian de alguna parte.
Ver https://www.thegeekstuff.com/2017/05/restorecon-examples/ para más detalles.
Estos son comandos que vale la pena probar antes de deshabilitar SElinux
fuente
Full path required for exclude: net:[...].
Una mejor manera que deshabilitar selinux es usar el comando
Eso permitirá que el servicio toe nginx pase sin deshabilitar completamente selinux
Más información en https://www.nginx.com/blog/using-nginx-plus-with-selinux/
Sin embargo, para mí ejecutar el
command chcon -v --type=httpd_sys_content_t /etc/nginx/*
y funcionó correctamente sin necesidad de superar httpd_tfuente