Правильные разрешения файловой системы для установки Joomla на Linux
Мой вопрос довольно общий. Предположим, у меня есть веб-сервер распространения Linux, с /var/www/
это веб-каталог. Я использовал свою учетную запись суперпользователя для загрузки и распаковки установки Joomla .zip
папка.
Пользователь Linux-системы для веб-пользователей называется www-data
, Во всяком случае, мой вопрос: кто должен быть ONWER файлов в системе Linux? Прямо сейчас, поскольку я использовал свою учетную запись суперпользователя для распаковки файлов, все папки и файлы принадлежат суперпользователю, и поэтому они отображаются в системе администратора joomla как недоступные для записи. Я просто немного не решаюсь установить www-data
Пользователь как владелец файлов. Это нормально?
Просто для справки, в Linux я бы поменял владельца папок и файлов с помощью chown
и изменить группу с chgrp
,
Спасибо!
2 ответа
Нормально Используйте www-данные как владельца и группу:
cd /var
chown www-data:www-data www
Нет необходимости использовать chgrp.
Это очень опасно иметь всю Joomla! файлы и каталоги, доступные для записи для веб-сервера. Если есть какая-то ошибка в Joomla! или в каком-либо расширении злоумышленник сможет удалить / изменить / удалить любой файл с помощью случайного эксплойта (используя ошибку в коде PHP). Вместо этого все файлы должны быть доступны для чтения только веб-серверу (то есть: владелец должен быть пользователем root или обычным пользователем), а все разрешения должны быть 755 для каталогов и 644 для файлов. Только каталог кеша должен быть доступен для записи на сервере www (если вы используете кеширование). Так что-то вроде этого должно быть выполнено для всего каталога Joomla (для Ubuntu & spol.):
cd /var/www/whatever-your-joomla-root-dir-is
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chown -R www-data .
Подробнее о правах на Unix читайте в http://forum.joomla.org/viewtopic.php?t=121470
Вам может потребоваться изменить каталоги с расширениями или шаблонами так же, как каталог кеша, только на время установки / удаления одного из них, а затем снова сменить владельца.
Для Fedora, CentOS, RHEL, Scientific Linux и т. Д. Команда должна быть:chown -R apache .
Вместо смены владельца (это может быть сделано только от имени пользователя root) вы можете просто активировать разрешение на запись для других с помощью этой команды (а затем вернуть обратно, передав o-w
к той же команде):
chmod -R o+w cache