A) Не рекомендуется предоставлять какую-либо форму доступа к миру, даже если это просто доступ для чтения.
B) Предоставление владельцу файла только доступа для чтения приводит к сложному обслуживаниюпроцесс (например: наиболее рекомендуется, чтобы Settings.php был доступен только для чтения всем), это только увеличит ваши задачи, когда вы захотите изменить настройки.
В двух словах: - Мир нуждается в 0 доступе - даже не вобщая папка.- Вашему веб-серверу необходим доступ только для чтения для всех файлов, кроме общедоступной папки и папки tmp - они будут как для чтения, так и для записи.- Вашему владельцу файлов необходим полный доступ ко всем файлам - для простоты обслуживания
Это, однако, будет работать лучше всего, когда владелец файла и владелец веб-сервера являются двумя отдельными пользователями, и вы имеете ssh-контроль над сервером и можете изменятьвладение файлом.
Приведенный ниже скрипт будет работать, если у вас следующая структура каталогов:
Папка сайта
Папка сайта / conf (содержит файлы конфигурации виртуального хоста apache для этого сайта)
Папка сайта / htdocs (содержащая сайт)
В этом сценарии: kalpesh является владельцем файла, а демон - владельцем веб-службы - это может быть www-data для вашего сайта.
Обычно я сохраняю такой сценарий в файле .sh и затем добавляю его в cron, чтобы всякий раз, когда члены моей команды загружали новый контент на сайт или обновляли модуль, разрешение сайтов не подвергалось риску из-за их ошибок.Cron будет выполнять сценарии и восстанавливать права доступа каждые 24 часа.
cd ToSiteFolder
sudo chown kalpesh:daemon .
sudo chmod 750 .
sudo chown -R kalpesh_popat:daemon ./conf
sudo find ./conf -type d -exec chmod 750 {} +
sudo find ./conf -type f -exec chmod 640 {} +
sudo chown -R kalpesh_popat:daemon ./htdocs
sudo find ./htdocs -type d -exec chmod 750 {} +
sudo find ./htdocs -type f -exec chmod 640 {} +
sudo find ./htdocs/sites/default/files -type d -exec chmod 770 {} +
sudo find ./htdocs/sites/default/files -type f -exec chmod 660 {} +
sudo find ./htdocs/tmp -type d -exec chmod 770 {} +
sudo chmod 640 ./htdocs/sites/default/settings.php
sudo chmod 750 ./htdocs/sites/default
Есть блог, который прекрасно объясняет это и разрушает многие мифы.https://technologymythbuster.blogspot.com/2018/06/misconception-about-file-ownerships-and.html