Как правильно настроить права доступа к файлам в WordPress

Опубликовано: 2022-09-13

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

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

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

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

Что такое права доступа к файлам?

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

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

Что позволяет это, так это набор прав доступа к файлам, которые делятся на 3 категории:

  1. Какие разрешения есть у владельца.
  2. Какие разрешения имеет файловая группа.
  3. Какие разрешения есть у всех.

Эти разрешения обычно выражаются одним из двух способов: числом или строкой символов. Права доступа к файлам, которые представляют эти числа и символы, одинаковы в обоих случаях.

Пример прав доступа к файлам, взятый с WordPress.org

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

Как права доступа к файлам используются в WordPress?

В большинстве случаев сервер, на котором работает сайт WordPress, работает от имени конкретного пользователя.

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

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

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

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

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

Будьте осторожны 777

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

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

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

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

Установка ваших разрешений на 777 и оставление их там в основном похоже на то, как если бы вы заперлись в своей квартире, сломали замок на двери и оставили ее в таком виде.

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

Распространенные ошибки из-за прав доступа к файлам

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

Не удается установить/обновить темы, плагины или ядро ​​WordPress.

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

Во многих случаях это проблема с правами доступа к файлам и, в частности, несоответствие между пользователем веб-сервера, на котором работает WordPress, и пользователем веб-сервера, который имеет доступ к каталогу wp-content и владеет им. Это часто происходит, когда вы обновляете файлы в каталоге wp-content через FTP.

В этом случае право собственности на каталоги, которые вы загрузили через FTP, устанавливается для пользователя FTP, в то время как пользователь веб-сервера, на котором работает WordPress, отличается. Когда WordPress пытается установить новую тему или плагин, веб-сервер отклоняет эту попытку, потому что WordPress не владеет этой папкой.

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

Загрузка мультимедиа не удалась

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

Если пользователь веб-сервера, привязанный к WordPress, не имеет разрешения на доступ ни к каталогу wp-content ни к каталогу uploads , то загруженные медиафайлы не смогут быть перенесены в правильный каталог, и загрузка будет отмечена как не удалось.

Медиафайлы существуют на сервере, но 404 при доступе через браузер

Особенно после восстановления сайта WordPress из резервной копии или переноса его между хостами вы можете обнаружить, что, даже если медиафайлы правильно загружены на ваш сайт и присутствуют в вашем каталоге wp-content/uploads , они все еще выдают ошибку 404, когда они пытаетесь получить доступ в браузере.

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

Как и в случае с проблемами и решениями, описанными выше, вы должны проверить каждый каталог, начиная с wp-content и uploads и каждым из ежемесячных каталогов, а также сами изображения, и убедиться, что пользователь веб-сервера имеет права на чтение во всех этих папках. и файлы, чтобы медиафайлы могли правильно отображаться посетителям в их браузерах.

Как исправить распространенные ошибки прав доступа к файлам

Самый простой способ исправить распространенные ошибки прав доступа к файлам — убедиться, что права доступа к файлам установлены так, как ожидает WordPress.

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

После этого убедитесь, что все файлы WordPress в этом каталоге, а также каталог wp-content и все каталоги под ним принадлежат тому же пользователю.

Если вы используете веб-хост, использующий cPanel, вы можете изменить эти разрешения прямо в cPanel. Однако, если у вас есть SSH-доступ к вашему серверу и вы используете сервер на базе Linux (как и большинство веб-серверов), вам, возможно, придется следовать немного другому методу.

Другие возможные ошибки прав доступа к файлам

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

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

Часто это плагины резервного копирования (которые иногда хранят резервные копии в каталоге wp-content ) и плагины кеширования (которые иногда создают и хранят статические кэши внутри каталога wp-content ).

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

Каковы правильные права доступа к файлам WordPress

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

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

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

В wp-content каталоги themes , plugins и uploads должны быть доступны для записи веб-сервером, особенно если вы хотите запускать автоматические обновления или использовать редактор тем из WordPress.

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

Подведение итогов

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

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

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

Выбор редактора