Списки прав доступа

Наиболее общий подход к защите файлов от несанкционированного использования - сделать доступ зависящим от идентификатора пользователя, то есть связать с каждым файлом или директорией список прав доступа (access control list), где перечислены имена пользователей и типы разрешенных для них способов доступа к файлу. Любой запрос на выполнение операции сверяется с таким списком. Основная проблема реализации такого способа - список может быть длинным. Чтобы разрешить всем пользователям читать файл, необходимо всех их внести в список. У этой техники есть два нежелательных следствия:

· Конструирование такого списка может быть сложной задачей, особенно если мы не знаем заранее список пользователей системы.

· Запись в директории должна теперь иметь переменный размер (включать список потенциальных пользователей).

Для решения этих проблем создают классификации пользователей, например, в ОС Unix все пользователи разделены на три группы:

· Владелец (Owner).

· Группа (Group). Набор пользователей, разделяющих файл и нуждающихся в типовом способе доступа к нему.

· Остальные (Univers),

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