Что такое права доступа? Для чего они нужны? И как их правильно выставлять для сайтов, в частности, работающих на CMS WordPress? Давайте попытаемся в этом разобраться.
Для файлов и папок на сайте есть три категории прав доступа:
- Права владельца;
- Групповые права;
- Права для всех.
Владельцем является CMS и через ее посредство – администратор сайта.
Примером группы пользователей являются, например, пользователи FTP доступа к директориям сайта.
Все – это и есть все подряд, кроме владельца или членов группы доступа.
Разрешения для файлов и папок (permissions) позволяют управлять доступом к файлам вашего сайта. Существуют разрешения трех уровней:
- Чтение (Read);
- Запись (Write);
- Выполнение (eXecute).
Давайте разберемся, что же это такое. Для файлов:
- Чтение (r) – позволяет пользователю читать данный файл.
- Запись (w) – позволяет пользователю изменять или перезаписывать данный файл.
- Выполнение (x) – позволяет пользователю выполнять данный файл как сценарий.
Об удалении – речь не идет.
Для папок:
- Чтение (r) – позволяет пользователю получать доступ к содержимому данной папки.
- Запись (w) – позволяет пользователю добавлять или удалять файлы в данной папке.
- Выполнение (x) – позволяет пользователю выполнять функции и команды, в том числе и удалять файлы данной папке.
Права задаются двоичными флагами (под это отводится 9 бит: три тройки), каждый из которых принимает значение 0 или 1.
Для удобства тройки группируют и записывают уже в виде десятичных цифр.
Порядок записи следующий:
- Права владельца:
- Чтение (r);
- Запись (w);
- Выполнение (x).
- Групповые права:
- Чтение (r);
- Запись (w);
- Выполнение (x).
- Права для всех:
- Чтение (r);
- Запись (w);
- Выполнение (x).
Чтение (r) обозначается 4 (100), запись (w) – 2 (010), а выполнение (x) – 1 (001).
В итоге получается примерно следующее:
Как правило, папкам и файлам права назначают раздельно – в соответствии с требованиями системы (например CMS) и с требованиями безопасности.
Для подавляющего большинства файлов сайта под управлением CMS WordPress права доступа должны быть выставлены в значение 644. То есть, владелец может читать содержимое файлов и писать в них, члены группы и все остальные – могут только читать файлы.
Исключение составляет файл wpconfig.php, так как он содержит массу ценной информации, которая не должна быть доступна никому кроме владельца, права на него выставляются в значение 600: никто кроме владельца не может даже прочитать его.
Для всех папок выставляются другие права – 755.
Существует распространенное заблуждение, что на некоторые папки (например, папку для загрузки файлов – Dounloads) надо выставлять полные права (777). Это – серьезная ошибка, которая может обернуться проблемой для вашего сайта: фактически это открытые ворота для любых вредителей. 🙁