Концепция прав доступа
Поскольку UNIX - многопользовательская система, чтобы
защитить файлы каждого пользователя от дурного влияния других
пользователей, UNIX поддерживает механизм, известный, как
система прав доступа к файлам. Этот механизм позволяет каждому
файлу приписать конкретного владельца. Как пример, поскольку
Larry создал файлы в своем домашнем каталоге, именно Larry
владелец этих файлов и имеет к ним доступ.
UNIX позволяет также совместно использовать файлы
нескольким пользователям и группам пользователей. Если Larry
так пожелает, он может закрыть доступ к своим файлам так, что
никто другой не сможет к ним подступиться. Однако в большинстве
систем по умолчанию другим пользователям разрешается читать ваши
файлы, но запрещается изменять или удалять.
Как объяснялось выше, каждый файл имеет конкретного
владельца. Но, кроме того файлами, также владеют конкретные группы
пользователей, которые определяются при регистрации пользователей
в системе. Каждый пользователь становится членом как минимум
одной группы пользователей. Системный администратор может
даровать пользователю доступ более, чем к одной группе.
Группы обычно определяются типами пользователей данной
машины. Например, в университетском UNIX пользователи могут быть
разбиты на группы студент, преподаватель, руководство,
гость.
(прим. переводчика: осмелюсь предположить, что в
отечественной книге перечисление примеров групп было бы начато с
группы "руководство"...).
Есть также несколько системно-зависимых групп (вроде bin и
admin), которые используются самой системой для управления
доступом к ресурсам. Очень редко обычный пользователь принадлежит
к этим группам.
Права доступа подразделяются на три типа: чтение (read),
запись (write) и выполнение (execute).
Эти типы прав доступа
могут быть предоставлены трем классам пользователей: владельцу
файла, группе, в которую входит владелец, и всем (прочим)
пользователям.
Разрешение на чтение позволяет пользователю читать
содержимое файлов, а в случае каталогов - просматривать
перечень имен файлов в каталоге (используя, например, ls).
Разрешение на запись позволяет пользователю писать в файл и
изменять его. Для каталогов это дает право создавать в
каталоге новые файлы и каталоги, или удалять файлы в этом
каталоге. Наконец, разрешение на выполнение позволяет
пользователю выполнять файлы (как бинарные программы, так и
командные файлы). Разрешение на выполнение применительно к
каталогам означает возможность выполнять команды вроде cd.