Problema failed (13: Permission denied) [CentOS + nginx]

Spread the love

Un fastidioso errore 404 mi risultava dalla visita di uno dei miei siti, e mi sembrava che l’attribuzione dei permessi fosse corretta.

L’errore HTTP 404 viene emesso dal server quando non trova nel file system la risorsa (file o cartella) corrispondente all’URI che gli viene passato dal client (ad esempio Google Chrome o Firefox): il famoso errore di Pagina non trovata.

Questo errore si verifica anche se il file c’è ma si verifica una di queste condizioni:

  • l’utente sotto il quale sta girando il server non ha permessi di lettura sul file desiderato né come utente né come gruppo
  • non ha la possibilità di raggiungere quella risorsa percorrendo il grafo della directory da / al file desiderato

In realtà basta infatti che una directory della catena di “cd command” (change directory) che il servizio nginx deve fare e si verifica l’errore. Il modo più efficiente di vedere lo stato di tutta la gerarchia di directory è utilizzare il comando namei:

namei - follow a pathname until a terminal point is found
[root@websrv01 site]# namei -om /usr/share/nginx/html/
f: /usr/share/nginx/html/
 dr-xr-xr-x root root       /
 drwxr-xr-x root root       usr
 drwxr-xr-x root root       share
 drwxr-xr-x root root       nginx
 drw-rwSr-- root developers html

Qui è evidente il problem: tutta la catena di directory ha l’opzione x (eXecute) tranne la directory contenente la DocRoot di nginx; ragion per cui è sufficiente aggiungere questo permesso:

[root@websrv01 site]# chmod a+x /usr/share/nginx/html/
[root@websrv01 site]# namei -om /usr/share/nginx/html/
f: /usr/share/nginx/html/
 dr-xr-xr-x root root       /
 drwxr-xr-x root root       usr
 drwxr-xr-x root root       share
 drwxr-xr-x root root       nginx
 drwxrwsr-x root developers html
[root@websrv01 site]# 

Il problema è risolto.

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.