У меня есть несколько папок с установками Magento.
например
www/magento1 www/magento2
Все файлы / папки внутри них принадлежат root:magento1 и root:magento2 соответственно.
У меня есть 3755 разрешений для всех папок, 644 для всех каталогов, чтобы начать с. Это предотвращает запись в любую папку или файл любого пользователя, кроме root.
Затем я добавляю в группу разрешения на запись для папок / файлов, которые должны иметь возможность писать разработчики. Например, они не могут записывать в основные файлы, но могут писать в модули / скины, которые не являются основными.
Это все хорошо. Единственное, что не хорошо, это то, что я не хочу, чтобы они могли читать имя пользователя / пароль базы данных mysql из magento1 / app / etc / local.xml. Я не хочу, чтобы они имели доступ к базе данных, где хранится конфиденциальная информация. Я также не хочу, чтобы мошенник-программист удалял кучу таблиц или что-то еще.
Но apache должен иметь доступ на чтение к тому же файлу.
Вот "решение", которое не работает: удалите разрешения на чтение из группы, но оставьте их для других. Зачем? Потому что это мешает разработчикам читать из их приложения /etc /local.xml, но позволяет им читать все остальные.
Что я делаю?
РЕДАКТИРОВАТЬ: Да, разработчики = разработчики, и они будут иметь доступ по SSH и FTP.