Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Пользователь www-data в nginx.conf

33 views
Skip to first unread message

Сергей Москвичёв

unread,
Aug 22, 2023, 4:20:03 PM8/22/23
to
Здравствуйте!

Перенёс настройки nginx с ubuntu (Version: 1.18.0-6ubuntu14.4) на debian 12
(Version: 1.22.1-9) и получил нерабочий сайт "404 Not Found". Лог пестрит
строками "failed (13: Permission denied)". Погуглив нашёл что процесс сервера
запускается от пользователя www-data (в nginx.conf) и заменив этот параметр на
текущего пользователя сайт заработал. Оставлять текущего пользователя владельцем
процесса мне видится не красивым решением. Менять права каталога сайта не удобно
т.к. его наполняют непривилегированные пользователи и придётся обновлять права на
файлы каждый раз после обновления контента. Как можно решить проблему?



--
С уважением, Сергей Москвичёв.

IL Ka

unread,
Aug 22, 2023, 8:51:08 PM8/22/23
to
А на убунте как работало? И как именно пользователи наполняют сайт?

nginx должен работать от www-data, не нужно это менять. 
Если файлы не секретные, то можно дать всем права на их чтение, и www-data сможет их читать.
Настроить права для создаваемых файлов можно через `umask`.

Другое решение это сделать спец группу, добавить туда всех пользователей, и www-data, и дать права на чтение этой группе.
Пользователям можно назначить эту группу основной, тогда файлы будут сразу создаваться с этой группой в качестве владельца, либо пользователи сами могут менять группу с помощью chgrp.

  Наконец, можно заморочиться с ACL. https://manpages.debian.org/testing/acl/acl.5.en.html
 

Сергей Москвичёв

unread,
Aug 22, 2023, 11:40:04 PM8/22/23
to
Видимо какой-то параметр не перечитывался простым перезапуском демона nginx.
Полная перезагрузка железа решила проблему. Но выглядело загадочно.
0 new messages