Мой вопрос довольно общий. Предположим, у меня есть веб-сервер распространения Linux с /var/www/
это веб-каталог. Я использовал свою учетную запись суперпользователя, чтобы загрузить и распаковать установку Joomla .zip
папка.
Пользователь системы linux для веб-пользователей называется www-data
. В любом случае, мой вопрос в том, кто должен быть ПОСТОЯННЫМ из файлов в системе Linux? Прямо сейчас, поскольку я использовал свою учетную запись суперпользователя для разархивирования файлов, все папки и файлы принадлежат суперпользователю, и поэтому в административной системе joomla запись невозможна. Я просто не решаюсь установить www-data
пользователь как владелец файлов. Это нормально?
Просто для справки, в Linux я бы изменил владельца папок и файлов с помощью chown
и измените группу с помощью 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 .
Вместо смены владельца (это можно сделать только с правами суперпользователя) вы можете просто включить разрешение на запись для других с помощью этой команды (а затем вернуться назад, передав o-w
к той же команде):
chmod -R o+w cache
В порядке. Используйте www-data как владельца и группу:
cd /var
chown www-data:www-data www
Нет необходимости использовать chgrp.