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

Файлы сервера Apache в / var / www /

Хорошо ... У меня настроен сервер, и у меня есть 4 сайта, находящихся в / var / www /. Согласно этому сообщению, каждый каталог сайта и файлы под ним имеют корневой каталог: www-pub:

Как лучше всего обрабатывать разрешения для пользовательских www-данных Apache 2 в / var / www?

Мой пользователь, cdog, является частью www-pub, как указано в приведенном выше сообщении, и после дополнительных исследований я считаю, что umask настроен правильно.

Вопросы 1: Создание новых файлов в любом из каталогов / var / www / дает мне разрешения

cdog:www-pub -rw-r--r--

все остальные файлы

root:www-pub -rw-rw-r--

Меня заставили поверить (согласно вышеупомянутому сообщению), что любые новые созданные файлы будут более поздними.

Выпуск 2 Большинство этих каталогов с разрешениями

drwxrwsr-x

каталоги Joomla. Вход в серверную часть Joomla дает мне целую кучу недоступных для записи каталогов, что не подходит для обновления / установки расширений / плагинов и т. Д.

Во-первых, почему мои файлы не создаются с правильными разрешениями? Во-вторых, почему каталоги Joomla недоступны для записи?

Перед тем, как работать с файлами, вам необходимо установить свой umask.

umask 002

Пользователь маска определяет, какие разрешения получают новые файлы. Когда создается файл или каталог, система запускается с самыми разрешающими разрешениями (0666 и 0777 соответственно), а затем очищает биты, указанные в umask. Таким образом, значение umask по умолчанию 022 приводит к сбросу битов записи группы и мира, поэтому вы получаете 0644.

Чтобы создать файлы с правами на запись группы, вам нужно изменить umask на 002 (т.е. очистить только разрешение на запись для всего мира). Это можно сделать в конкретном сеансе оболочки с помощью umask 002, но это не будет сохраняться между сеансами.

Есть несколько способов установить umask постоянно. Если pam_umask Модуль PAM установлен и настроен, вы можете установить его в /etc/login.defs:

UMASK   002

В противном случае вы можете установить его в сценариях инициализации оболочки, либо ~/.bashrc если вы хотите, чтобы он применялся только к вашему пользователю, или /etc/bash.bashrc если вы хотите, чтобы он применялся ко всем пользователям:

umask 002

Похоже, вы используете www-pub, это помимо www-data группы?