Перейти к содержимому

Права доступа файлов WordPress

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

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

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

Владение файлами и папками в WordPress.

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

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

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

groups

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

echo exec( 'groups' );

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

sudo usermod -a -G myuser

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

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

При необходимости сменить владельца папок и всех вложенных элементов можно командой:

sudo chown -R user:group /home/user/dir/

Права доступа для 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.