Каждый пользователь UNIX (не говоря уже о системном администраторе) должен управлять дисковым пространством. Пользователь несет ответственность за содержимое своего начального каталога и обеспечение целостности любых имеющихся у него данных. Целостность данных обеспечивается проверкой и изменением прав доступа. Защищая файлы и каталоги, пользователь предотвращает неавторизированный доступ.
Каждый файл в ОС UNIX содержит набор прав доступа, по которому определяется, как пользователь взаимодействует с данным файлом. Этот набор хранится в индексном дескрипторе данного файла в виде целого значения, из которого обычно используется 12 битов. Причем каждый бит используется как переключатель, разрешая (значение 1) или запрещая (значение 0) тот или иной доступ.
Три первых бита устанавливают различные виды поведения при выполнении. Оставшиеся девять делятся на три группы по три, определяя права доступа для владельца, группы и остальных пользователей. Каждая группа задает права на чтение, запись и выполнение.
Базовые биты прав доступа представлены в табл. 11. Там дано восьмеричное значение, задающее соответствующий бит, вид этого бита в первом столбце длинного листинга и право, задаваемое этим битом.
Таблица 11. Права доступа к файлам в ОС UNIX
Восьмеричное значение | Вид в столбце прав доступа | Право или назначение бита |
4000 | ---s------ | Установленный эффективный идентификатор владельца (бит SUID) |
2000 | ------s--- | Установленный эффективный идентификатор группы (бит SПID) |
1000 | ---------t ---------T | Клейкий (sticky) бит. Вид для каталогов и выполняемых файлов, соответственно. |
0400 | -r-------- | Право владельца на чтение |
0200 | --w------- | Право владельца на запись |
0100 | ---x------ | Право владельца на выполнение |
0040 | ----r----- | Право группы на чтение |
0020 | -----w---- | Право группы на запись |
0010 | ------x--- | Право группы на выполнение |
0004 | -------r-- | Право всех прочих на чтение |
0002 | --------w- | Право всех прочих на запись |
0001 | ---------x | Право всех прочих на выполнение |