РИТ: Клиентские технологии - профессиональная конференция веб-разработчиков

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

О том как выставляются права на чтение|запись|выполнение в *NIX-системах

Каждый процесс в *NIX-системах может быть запущен под каким-нибудь пользователем. Пользователь определяется по идентификатору (user ID - UID), представляющему целое положительное число. Суперпользователь (root) имеет идентификатор 0. Все пользователи распределены по группам, которые также имеют свои идентификаторы (group ID - GID).

Каждый файл в системе имеет своего владельца, как правило пользователя, который его создал. Владелец запоминается по его UID. Так как каждый пользователь принадлежит какой-либо группе, то для каждого файла определен и GID. Таким образом, для каждого файла существует три неравноценных типа пользователей:

  • владелец (user),
  • участники группы (group),
  • остальные (other).

Также для каждого файла определены три типа операций:

  • r – чтение (read),
  • w – запись (write),
  • x – выполение (eXecute).

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

  • rwxrwxrwx — полный доступ к файлу для всех пользователей.
  • rwx------ — полный доступ для владельца файла, другие пользователи его не смогут даже прочитать.
  • rwxr-xr-x — полный доступ для user, остальные пользователи смогут файл только прочитать или выполнить.

Каждую из троек операций можно представить численно, числом от 1 до 7 (r = 4, w = 2, x = 1), например:
rwx = 4 + 2 + 1 = 7;
r-x = 4 + 1 = 5;

Таким образом, полный набор атрибутов доступа можно представить в виде числа в восьмеричной системе исчисления (rwxrwxrwx = 0777, rwxr-xr-x = 0755).

Доступ к директориям

Доступ к директориям организован по тому же принципу, что и доступ к файлам, только к списку атрибутов приписывается буква d, например drwxrwxrwx. Сами атрибуты имеют особое значение:

  • r — позволяет просматривать список имён файлов в каталоге, но не позволяет выяснить их физическое расположение.
  • w — позволяет создавать/удалять/редактировать файлы в каталоге.
  • x — позволяет узнавать визическое расположение файла в каталоге по его имени.

Замечание

Всё вышеперечисленное не относится к root-у, у которого полный доступ ко всем файлам независимо от UID и GID.

Александр Бурцев 30 июля 2007

© Все права на данную статью принадлежат порталу fastcoder.org. Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции.

Комментарии

 
Rambler's Top100 Flede HTML valid CSS valid Технологический конкурс сайтов WebHiTech