alex.andros
27.03.2016 - 11:51
Всем привет! Прошу строго не судить новичка))
Такой вопрос, кто нибудь знает как разрешить запись в файлы для пользователя веб-сервера?
Поясню:
Есть vps, на нем сайт на CMS modx revo, в этой CMS есть возможность прямо из админки редактировать css файлы, но в моем случае это сделать не получается, хотя по ftp файлы редактировать позволяет. Права на файлы 644, на папки 755.
Как то давно заказывал vps у этого же хостера - там можно было редактировать прямо из админки сайта файлы с правами 644, но уже на текущей vps этого не сделать нельзя.
В чем может быть дело?
AllesKlar
27.03.2016 - 15:02
Значит вебсервер не является владельцем данного файла.
в терминале:
ls -l
_____________
[продано копирайтерам]
alex.andros
27.03.2016 - 15:24
ls -l common.css
Выдает:
-rwxrwxrwx 1 user root 131151 Mar 27 11:29 common.css
То есть как я понял, владелец файла - user, относящийся к root группе?
А какой командой можно задать владельца (именно веб сервер) для файла?
Пробовал команду sudo chown user common.css , но безрезультатно..
AllesKlar
27.03.2016 - 16:46
Пользователь и группа веб-сервера в большенстве случаев - это www-data
sudo chown www-data:www-data common.css
Если у тебя иначе, значит заменить www-data на пользователя веб-сервер
Но вот сий факт не понятен:
Цитата |
-rwxrwxrwx 1 user root 131151 Mar 27 11:29 common.css |
Права на файле 777, а ты говоришь 644
При 777 редактировать файл могут все.
Ошибка какая-нибудь показывается, когда пытаешься редактировать из админки?
_____________
[продано копирайтерам]
alex.andros
27.03.2016 - 17:22
Права ставил 777 для проверки будет ли из админки редактировать - редактирует.
При редактировании из админки раньше выдавал просто предупреждение что недостаточно прав.
Вернул права к 644, и сделал
sudo chown www-data:www-data common.css
В результате - adfr (0644), как раз то что нужно, спасибо!
killer8080
27.03.2016 - 17:45
alex.andros
а нужно ли оно тебе? То что апач имеет доступ на запись к скриптам это не есть гуд. В случае уязвимостей в скриптах возможна инъекция вирусного кода. В идеале апач не должен иметь прав на запись в DOCUMENT_ROOT, если нужен аплоад, то назначить права на запись только на директорию, выделенную под неё, и само собой в ней все хендлеры должны быть отключены. Тогда даже если загрузить туда файл с расширением .php апач будет отдавать его как текст.
alex.andros
29.03.2016 - 09:43
Об этом не подумал, учту, спасибо. Кстати на счет возможностей иньекции - действительно могут, т.к. проект достаточно известен в узких кругах и есть серьезные конкуренты.
Ну а если я назначу доступ апучу на запись только к css файлу? (директории и прочие файлы останутся не доступны для записи сервером)
Будет ли риск в таком случае?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.