Назад | Перейти на главную страницу

Как исправить разрешения на веб-сервере Linux

Краткая версия: я не могу загружать изображения с помощью php и понятия не имею, как исправить проблему с разрешениями

Подробности :

Я использую vps около трех лет, теперь я настроил его для запуска Sendy (небольшой скрипт для рассылки новостей / электронной почты). Он работает под управлением debian 7.

Я создал пользователя sendy, а каталог www находится внутри папки пользователя / home / sendy / www.

Проблема в том, что недавно я хотел начать закачку, и я понял, что разрешения испорчены.

Это то, что я получаю в error.log

[Thu Nov 14 12:43:38 2019] [error] [client xx.xxx.xx.xxx] (13)Permission denied: file permissions deny server access: /home/sendy/www/mail/uploads/1573731818.png, referer: http://example.com/mail/create?i=3

Любая помощь приветствуется.

Помимо того факта, что пользователь sandy имеет право записи в этот собственный домашний каталог (и подкаталоги), у веб-сервера есть собственный пользователь (обычно www-data, nobody, apache и т. Д.). Это пользователь, который будет выполнять операцию записи.

Итак, проверьте, какой пользователь запускает демон веб-сервера, измените владельца целевого каталога на этого пользователя и повторите попытку.

Учитывая сообщение, которое вы упоминаете, вы сможете исправить что-то вроде следующего:

chown www-data /home/sendy/www/mail/uploads/

Или чау-сэнди: www-data / home / sendy / www / mail / uploads / chomd -R g + w / home / sendy / www / mail / uploads /

В любом случае мы позволяем www-data написать в свой каталог. Первый случай предполагает ваше sendy пользователю не нужен доступ, последний позволяет и sendy и www-data написание вашего каталога загрузок.