Что такое права на файлы и папки и как их изменить?

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

Уровни доступа к файлу

Каждый файл и каждая папка имеют три уровня доступа: право на чтение (обозначается буквой r), право на запись (т. е. редактирование и удаление файла; w) и право на исполнение (запуск) скрипта (x). Для папок эти уровни доступа имеют немного другое значение: право на чтение для директории означает, что пользователь может получить список файлов и папок, находящихся в этой директории, право на запись дает возможность создавать файлы в этой директории, а право на исполнение разрешает перейти в эту директорию.

В контексте веб-хостинга право на исполнение актуально только для папок и CGI-скриптов. Для обычных файлов (HTML-страницы, картинки, PHP-скрипты и т. п.) право на исполнение не имеет никакого смысла.

Способы записи прав доступа

Существует несколько способов записи прав доступа: буквенная и цифровая запись. Ниже приведена таблица соответствий этих двух типов:

 

Цифровая записьБуквенная записьПрава
0 --- Ничего не разрешено
1 --x Исполнение
2 -w- Запись
3 -wx Запись и исполнение
4 r-- Чтение
5 r-x Чтение и исполнение
6 rw- Чтение и запись
7 rwx Чтение, запись и исполнение

Категории пользователей

Для каждого файла (и папки) существует три категории пользователей: владелец этого файла, группа пользователей, в которую входит владелец, и все остальные пользователи. Соответственно, каждый файл имеет три атрибута: права для владельца, права для группы и права для всех остальных.

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

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

Наиболее часто встречающиеся права

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

Права доступаОбласть применения
755 rwxr-xr-x Стандартные права для папок и CGI-скриптов. Такие права по умолчанию установлены для всех папок на вашем аккаунте. Кроме того, именно такие права должны иметь CGI-скрипты и папка, в которой они находятся, иначе они не будут работать.
644 rw-r--r-- Стандартные права для обычных файлов и PHP-скриптов.
  • Hits: 11381