15 нояб. 2014 г.

Unix nginx open() failed (13 permission denied)

Если вдруг на вашем любимом сервере NGINX + PHP-FPM после безобидных на первый взгляд действий перестали открываться все сайты с ошибкой 403 "HTTP/1.1 403 Forbidden", а в логе nginx пишет примерно такое даже при обращении к серверу по IP:

2014/11/15 13:46:58 [error] 25908#0: *27341 open() "/home/pupkin/www/5.6.7.8/index.html" failed (13: Permission denied), client: 1.1.1.1, server: 5.6.7.8, request: "GET /index.html HTTP/1.0", host: "5.6.7.8"

И вы уже проверили владельца папки и права доступа ко всему, что только можно, то пришло время проверить прова на переход по папкам сверху вниз командой namei -om ( owner + mode ), примерно так:

namei -om /home/pupkin/www/5.6.7.8/index.html

получите:

f: /home/pupkin/www/5.6.7.8/index.html
drw-r--r-- root root /
drwxr-xr-x root root home
drwx-----x pupkin users pupkin
drwxr-xr-x pupkin users www
drwxr-xr-x pupkin pupkin 5.6.7.8
-rw-rw-r-- pupkin pupkin index.html

Обратите внимание на первую строку. Если в процессе ваших настроек вы случайно дали команду

chmod 644 /

т.е. хотели какому-то файлу поставить права 644, но путь к файлу куда-то пропал и остался только путь к корню.

Лечится очевидно:

chmod 755 /

или более умно, мне помогло так.

Удалить из ридера
http://dmxo.blogspot.com/ - был блог и пропал автор навсега в 2012 году Прочитать полностью...