WordPress Разрешения — Как настроить правильные файловики и собственности

Когда люди говорят о WordPress безопасности, файл разрешений и собственности, как правило, последнее, что на их умы. Установка плагинов безопасности является хорошей практикой и обязательным для каждого сайта WordPress. Однако, если разрешения файловой системы настроены неправильно, большинство мер безопасности могут быть легко обойдены злоумышленниками.

wordpress permissions

Разрешения и право собственности являются весьма важными в WordPress установок. Настройка этих должным образом на вашем веб-сервере должно быть первое, что вы делаете после установки WordPress. Наличие неправильного набора разрешений может привести к фатальным ошибкам, которые останавливают ваш сайт мертвым. Неправильные разрешения могут также скомпрометировать ваш веб-сайт и сделать его склонным к атакам.

Дальнейшее чтение на SmashingMag:

Помимо проблем безопасности, ряд других проблем может вытекать из неправильного набора разрешений и собственности. Вы когда-нибудь сталкивались с пустым белым экраном при попытке загрузить ваш сайт в первый раз? Или вы когда-либо получали сообщения об ошибках при попытке загрузить изображения в загрузчик мультимедиа? Исправление разрешений и право собственности на файлы и папки часто исправляет эти типы проблем.

В этой статье мы научим вас всем о разрешениях и собственности Filesystem WordPress: что это такое, почему они важны и как их настроить. Вы узнаете несколько основных принципов, которые я следую, чтобы сохранить мою файловую систему нетронутыми. Мы также рассмотрим две наиболее распространенные конфигурации серверов WordPress. Мы объясним, как они отличаются и, что более важно, как установить надлежащие разрешения и право собственности для каждого из них.

Терминал Vs. Клиент FTP

В ходе этой статьи мы будем использовать терминал для изменения разрешений и собственности. Почему бы не использовать вместо этого клиент FTP? Причина в том, что FTP немного ограничена для наших нужд. FTP может использоваться для передачи файлов и изменения разрешений файлов и папок, но он не может использоваться для изменения настроек собственности.

Для выполнения команд, перечисленных в этой статье, необходимо войти в свой сервер с помощью SSH команды. Если вы не знакомы с терминалом SSH и, вы можете узнать о них в статье«Введениев Linux команды».

Пользователи и группы

Прежде всего, мы должны быстро говорить о том, что пользователи и группы, потому что они идут рука об руку при определении разрешений.

Проще говоря, пользователь — это учетная запись, которая имеет доступ к компьютеру, а группа — это просто идентификатор для определенного набора пользователей. Это означает, что каждый раз, когда вы передаете файлы с помощью FTP, вы используете учетную запись пользователя на вашем сервере. И в зависимости от того, как ваш хост настроил учетную запись, вы (пользователь) может принадлежать к одной или нескольких группам. Пользователи и группы, как пользователи и роли в WordPress. Оба концептуально одинаковы, за исключением того, что первый используется на вашем сервере.

Пользователи и группы важны, поскольку они помогают определить привилегии для всех наших файлов и папок. Владельцы файла обычно будут иметь полные привилегии на нем; другие пользователи, принадлежащие к той же группе, будут иметь меньше привилегий; в то время как все остальные могут не иметь никаких привилегий на нем. Эти привилегии являются тем, что мы называем разрешениями.

Что такое разрешение на файлы?

Разрешения диктуют, что пользователи могут делать с файлом. Разрешение представлено набором чисел, например 644 777 или, именуемым режимом разрешения. Если вы использовали плагины в WordPress раньше, то вы, скорее всего, попросили некоторые из них изменить разрешения файла или каталога, потому что плагин не может написать на него. Изменяя разрешения файла, вы позволяете веб-серверу получить доступ к этому файлу или папке.

Думайте о режиме разрешения как наборе инструкций «кто может делать что», в котором каждая цифра соответствует «кто» части оператора:

  • Первая цифра. Что может сделать пользователь учетной записи, которой принадлежит файл
  • Вторая цифра. Что могут сделать другие учетные записи пользователей в группе владельца
  • Третья цифра. Что могут делать учетные записи пользователей всех остальных (включая посетителей веб-сайта)

Далее, число соответствует «что» часть заявления и сумма комбинации любых этих цифр:

  • 4Прочитайте файл или прочитайте имена файлов в папке
  • 2Написать или изменить файл или изменить содержимое папки
  • 1Выполнить или запустить файл или получить доступ к файлам в папке

Эти цифры являются привилегиями, которые присваиваются «кто» в режиме разрешения. Примечание в списке выше, что привилегии означают что-то другое для файлов и папок.

Использование правильного режима разрешения является весьма важным. Чтобы лучше проиллюстрировать это, подумайте еще раз пользователей и ролей в WordPress. На веб-сайте WordPress участники и администраторы имеют различные наборы возможностей. Авторы могут создавать новые сообщения в блоге, но они не могут добавлять плагины. Администраторы, с другой стороны, могут добавлять плагины, а также создавать сообщения в блоге. Администраторы могут даже изменить внешний вид веб-сайта, если они этого хотят. Четкая строка отделяет то, что пользователи в разных ролях могут сделать. Это то же самое с режимами разрешения, за исключением того, что вместо того, чтобы иметь дело с блогами и темами, мы имеем дело с файлами и папками на сервере.

Изменение режимов разрешения

Клиенты FTP обычно предоставляют интерфейс, в котором можно удобно изменить режим разрешения файлов и папок. Вот скриншот интерфейса в моем клиенте FTP:

Example of a permission mode interface.
Пример интерфейса режима разрешения.

Если у вас есть доступ к терминалу сервера, вы также можете использовать chmod команду для изменения режима разрешения файла или папки:


sudo chmod 644 <file>

Чтобы изменить режимы разрешения всех файлов или папок, используйте chmod в тандеме с find командой. Например, вы можете использовать это для изменения всех файлов 644 на:


sudo find . -type f -exec chmod 644 {} +

Или используйте это, чтобы изменить все папки 755 на:


sudo find . -type d -exec chmod 755 {} +

Обратитесь к«Изменение разрешений на файлы в WordPress Codex»для руководства по изменению режимов разрешения.

Разница между 644 и 777

Давайте посмотрим на некоторые режимы разрешения и как они влияют на наш сайт.

Что бы phP сценарий с разрешением режим 644 означает? Следуя вышеизложенному о том, как работают режимы разрешения, мы можем расшифровать, что этот режим позволяет пользователям делать с нашим скриптом:

  • Привилегии владельца: «читать» (4) и «написать» (2)6
  • Групповые привилегии владельца являются «прочитаны» (4)4
  • Привилегии всех остальных являются «читать» (4)4

Простым языком это означает, что:

  • если мы владеем сценарием, мы можем прочитать и изменить его;
  • все остальные могут только читать его.

Как мы видим, 644 это хороший режим разрешения для нашего сценария PHP. Мы можем внести в него изменения, и наш веб-сервер может прочитать его.

Теперь давайте посмотрим на папки. Что делать, если мы владели папку, которая имела режим 777 разрешения? Этот режим разрешения может быть разбит следующим образом:

  • Привилегии владельца: «читать» (4) и «написать» (2) и «выполнить» (1)7
  • Групповые привилегии владельца: «читать» (4) и «написать» (2) и «выполнить» (1)7
  • Привилегии всех остальных являются «читать» (4) и «написать» (2) и «выполнить» (1)7

Это означает, что

  • любое может получить список имен архивов в нашей скоросшивании;
  • любой может создать, изменить и удалить любой файл в нашей папке;
  • любой может получить доступ к файлам в нашей папке.

Очевидно, что 777 это плохой режим разрешения для чего-либо на нашем сайте WordPress, потому что любой посетитель сможет добавить файлы в наш каталог или даже удалить сценарии. Хуже того, любой сможет поставить в вредоносный код и скомпрометировать наш сайт.

Конфигурации серверов WordPress

Теперь мы знаем о разрешениях и о том, как их читать. Но прежде чем приступить к изменению всех наших разрешений, мы должны понять, как настроен наш сервер. Поскольку разрешения касаются учетных записей пользователей и групп, мы должны знать, как работает наш веб-сайт WordPress.

Много различных конфигураций сервера там. Различные конфигурации нуждаются в различных наборах режимов разрешения для Того, чтобы WordPress работал правильно и надежно. Мы поговорим только о двух наиболее распространенных конфигурациях и надлежащих разрешениях для них:

  • Стандартная конфигурация сервера:
    • У вас есть учетная запись пользователя.
    • Веб-сервер работает как другая учетная запись пользователя.
  • Общая конфигурация сервера или suEXEC конфигурация:
    • У вас есть учетная запись пользователя.
    • Другие пользователи, пользующиеся сервером, имеют учетные записи пользователей и могут делиться одной и той же группой с вашей учетной записью пользователя.
    • Ваш веб-сервер работает как владелец файлов WordPress.

Основное различие между этими двумя заключается в том, как работает веб-сервер.

Разрешения для стандартной конфигурации сервера WordPress

Стандартные конфигурации WordPress требуют немного больше работы, чем общие конфигурации сервера, потому что веб-сервер не имеет никакого отношения к нашей учетной записи пользователя.

Файл и Фолдер собственности для WordPress

Во-первых, мы должны настроить файл и папку собственности наших файлов WordPress. Мы должны убедиться в следующем:

  • что ваша учетная запись пользователя является владельцем всех файлов и папок WordPress,
  • что ваша учетная запись пользователя и учетная запись пользователя веб-сервера принадлежат к одной и той же группе.

Чтобы узнать группы, к которым принадлежит ваша учетная запись пользователя, вы можете использовать эту команду в терминале вашего сервера:


groups

Затем, чтобы узнать группы, к которым принадлежит ваш веб-сервер, вы можете временно вставить этот фрагмент PHP в один из скриптов WordPress:


echo exec( 'groups' );

Если пользователь и веб-сервер не принадлежат к одной группе, можно использовать следующую команду в терминале для добавления пользователя в одну из групп веб-сервера:


sudo usermod -a -G <a-common-group-name> myuser

Наконец, чтобы убедиться, что все в нашей папке WordPress принадлежит нашей учетной записи пользователя и имеет общую группу, которую мы только что добавили, выполнить эту команду в папке WordPress:


sudo find . -exec chown myuser:a-common-group-name {} +

Разрешения на WordPress

Все наши файлы и папки должны теперь иметь правильное право собственности. Теперь пришло время настроить режимы разрешения. Чтобы упростить ситуацию, нужно помнить только следующее:

  • Все файлы должны быть 664 .
  • Все папки должны быть 775 .
  • wp-config.phpдолжно быть 660 .

Вот чего мы пытаемся достичь с помощью этого набора режимов разрешения:

  • Наша учетная запись пользователя может читать и изменять наши файлы.
  • WordPress (через наш веб-сервер) может читать и изменять наши сценарии.
  • WordPress может создавать, изменять или удалять файлы и папки.
  • Другие пользователи могут не видеть учетные данные нашей базы данных в wp-config.php .

Вы можете думать, что разрешение WordPress полные привилегии с нашими папками не является безопасным. Не волнуйтесь — мы делаем это, потому что WordPress нужны определенные функции для создания и изменения файлов. WordPress позволяет нам загружать и удалять темы и плагины и даже отодвигать скрипты и стили из административного задней части. Без такого типа разрешения, мы должны были бы вручную загружать темы и плагины каждый раз с помощью FTP.

Вы можете использовать ваш клиент FTP для изменения режимов разрешения, или вы можете использовать следующие команды в каталоге WordPress, чтобы быстро настроить разрешения всех ваших файлов и папок:


sudo find . -type f -exec chmod 664 {} +
sudo find . -type d -exec chmod 775 {} +
sudo chmod 660 wp-config.php

Обратите внимание, что некоторые веб-серверы строже, чем другие. Если ваш строгий, то установка вашего wp-config.php может остановить ваш сайт от 660 работы. В этом случае, просто оставить его как 664 .

Разрешения для конфигурации или конфигурации общего сервера SuEXEC

Разрешения для общих конфигураций серверов проще реализовать. Мы не будем останавливаться на собственности, потому что веб-сервер работает как владелец наших файлов и папок. Поскольку наша учетная запись пользователя и веб-сервер имеют одни и те же разрешения (оба являются владельцами), мы можем погрузиться прямо в изменение режимов разрешения:

  • Все файлы должны быть 644 .
  • Все папки должны быть 755 .
  • wp-config.phpдолжно быть 600 .

Как и в предыдущем наборе режимов разрешения, они разбиваются следующим образом:

  • Наша учетная запись пользователя может читать и изменять наши файлы.
  • WordPress (через наш веб-сервер и как владелец учетной записи) может читать и изменять наши сценарии.
  • WordPress может создавать, изменять или удалять файлы или папки.
  • Другие пользователи могут не видеть учетные данные нашей базы данных в wp-config.php .

Опять же, вы можете использовать клиент FTP для изменения режимов разрешения, или вы можете использовать следующие команды в каталоге WordPress, чтобы быстро настроить разрешения всех ваших файлов и папок:


sudo find . -type f -exec chmod 644 {} +
sudo find . -type d -exec chmod 755 {} +
sudo chmod 600 wp-config.php

Как и в стандартной конфигурации сервера WordPress, ваш сервер может быть строже, чем другие, и не может wp-config.php позволить 600 быть. В этом случае, вы можете настроить его на более 640 мягким; если это все еще не работает, а затем использовать 644 .

Всегда следуйте этим руководящим принципам и ваши wordPress файлы должны быть защищены от злоумышленников.

Общие подводные камни

Распространенная ошибка людей сделать, чтобы установить uploads папку 777 . Некоторые делают это, потому что они получают ошибку при попытке загрузить изображение на свой сайт, и 777 быстро исправляет эту проблему. Но никогда не дайте неограниченный доступ для всех,иначе вы сделаете веб-сервер уязвимым для атак. Если вы будете следовать рекомендациям, охватываемым в этой статье, то у вас не должно быть проблем с загрузкой файлов на ваш сайт.

Иногда, однако, плагин будет просить, чтобы вы установите 777 файл. В этих случаях, вы можете временно установить 777 его, но не забудьте установить его обратно в исходный режим разрешения, когда вы закончите.

Заключение

Мы узнали теперь о надлежащих разрешений и файл собственности на веб-сайте WordPress. Мы также научились избегать режима разрешения 777 из-за того, как он ставит под угрозу веб-сервер.

Надеюсь, вы можете реализовать эти советы, чтобы сохранить ваш сайт WordPress безопасной и безопасной. Если у вас есть какие-либо дополнительные советы относительно разрешений и безопасности, пожалуйста, поделитесь ими в комментариях ниже.

Выдержка изображение кредита: Кристофер Росс

Источник: smashingmagazine.com

Великолепный Журнал

Великолепный, сокрушительный, разящий (см. перевод smashing) независимый журнал о веб-разработке. Основан в 2006 году в Германии. Имеет няшный дизайн и кучу крутых авторов, которых читают 2 млн человек в месяц.

Добавить комментарий

%d такие блоггеры, как: