У меня есть сервер с SuPHP и DirectAdmin. Многие (но не ВСЕ) мои пользователи используют Joomla и Wordpress. Будет ли проблема, если я изменю chmod public_html и подпапки на 700? Будут ли они НЕОБХОДИМОСТЬ больше разрешений?
А как насчет файлов? Что должен наименее, самый безопасный и достаточно разрешения по умолчанию быть для них? Это 400? А может 600?
Другими словами, мой вопрос касается группа и Мир права пользователя. Никаких проблем, если только пользователь нужны разрешения? Я думаю, что при использовании SuPHP все делается владельцем, и не будет никаких проблем с ограничением групповых и мировых групп пользователей.
Я предпочитаю давать каждому объекту (файлу, папке) минимум разрешений, достаточных для работы без каких-либо проблем.
Вот мой опыт, это зависит от конфигурации.
Для файлов PHP можно установить значение 600, чтобы пользователь мог их читать и записывать, и suPHP должен позаботиться о том, чтобы назначить пользователя владельцем веб-сайта. Возможно, вы захотите убедиться, что владельцем был установлен пользователь, поскольку у старых установок мог быть владелец, такой как www-data. Вы также можете установить их 400, но могут возникнуть проблемы с поддержкой пользователей без разрешений на запись, и это не сильно улучшит безопасность.
Для других файлов обычно требуются разрешения, такие как 644, потому что Apache будет читать их как пользовательские www-данные, которые не будут владельцем или группой этих файлов. Это также относится к .htaccess и phi.ini. Таким образом, по умолчанию для всех файлов вам, вероятно, понадобится 644.
Разрешения каталога, если у вас есть домашний каталог с public_hml в нем, в идеале нужно установить это 700, но для некоторых конфигураций, похоже, требуется 711 для работы apache (и, возможно, некоторых других инструментов). Гипотетически, 700 должен защищать вас лучше, чем 711 - с 711 файлы, такие как конфигурация, которая установлена на 644 (по умолчанию, рекомендованная Joomla и часто применяемая веб-серверами для новых файлов), могут быть прочитаны миром, если кто-то может угадать файл местоположение - что несложно (возможно, вы уже знаете, как администратор многих сайтов joomla и wp). Подобно public_html и другим каталогам, их может потребоваться до 755. Но вы должны поэкспериментировать со своей собственной конфигурацией, найти самые низкие разрешения там, где загружаются веб-сайты, затем вернуться и убедиться, что все инструменты, которые вы поддерживаете или предоставляете клиентам (например, CPanel файловый менеджер) также работают нормально. Если вы можете установить для домашнего каталога или public_html значение 700, вы можете протестировать чтение для всех учетных записей в файле configuration.php - я обнаружил, что в моих учетных записях CPanel есть домашний каталог 711 и что файл config.php 644 можно читать для всех учетных записей пользователей. Я вижу в CPanel обсуждение проблем с символическими ссылками, которые могут упростить взлом учетных записей, поэтому разрешения становятся весьма важными - один сайт взломан, весь сервер подвергается большему риску, чем должен быть. Кто-то предположил, что установка домашнего каталога на 700 предотвратит чтение из любого места ниже этого каталога, но возможность сделать это, похоже, зависит от конфигурации. Но 700 в домашнем каталоге может быть настолько близким к Святому Граалю, насколько вы можете предоставить, если он работает (и это кажется зависимым от конфигурации).
Я не совсем эксперт и, конечно, не знаю, какой диапазон конфигураций вы можете найти, но я отвечаю, потому что вижу, что это вопрос 6-недельной давности, на который нужен хороший набор ответов. Надеюсь, вы найдете кого-нибудь с более широким опытом настройки серверов, чтобы улучшить этот ответ.