Права доступа к файлам и директориям WordPress

Некоторые вопросы безопасности описаны в WordPress документации: Hardening WordPress и Changing File Permissions.

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

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

Во-первых нужно определить кто владелец файлов и директорий уже установленного WordPress и кто владелец процесса веб-сервера.

Для этого необходимо сначала зайти на сервер по ssh и определить под каким пользователем запущен веб-сервер (и к какой группе он относится). Это необходимо для того, чтобы следующим шагом корректно установить владельца файлов WordPress. Это можно сделать через команду top | grep httpd или что-то подобное (процесс сервера может именоваться иначе). Один из универсальных способов — это добавить следующую строку в один из php файлов WordPress:

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

Включаем пользователя ssh (будущего владельца файлов) в существующую группу (одну с  веб-сервером):

Меняем владельца и группу для всех файлов в WordPress-директории:

Рекурсивно изменяем владельца для всех файлов и директорий (в примере пользователь и группа имеют одно имя web_user, все WP файлы в корневой директории сайта):

Права на файлы и директории WordPress

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

  • Folders — 755
  • Files — 644

Установить их можно следующим образом:

Для директорий:

Для файлов:

Из этой же документации следует, что для безопасности необходимо установить права доступа для следующих файлов: 600 для .htaccess  и 604 для wp-config.php