Управление доступом
Полномочия, которыми обладает пользователь по отношению к некоторому файлу, зависят как от файла, так от пользователя. Хотя теоретически можно предоставить полномочия для каждой пары (пользователь, файл), стоимость хранения, обработки и проверки такого огромного объема информации неприемлема ни в каких системах, кроме самых маленьких. Вместо этого обычно определяются классы пользователей, и всем пользователям в пределах одного класса предоставляются одинаковые полномочия.
Обычно выделяются следующие классы:
1. Пользователь, который наиболее близко связан с файлом (часто потому, что он его создал), является владельцем этого файла. Полномочия владельца можно передавать другим пользователям, однако это делается не часто.
2. Владелец файла может иметь партнеров , которые совместно с ним используют данный файл. Ими могут быть коллеги по проекту или люди, которым нужно работать с одной и той же информацией. В некоторых системах партнерами автоматически являются пользователи, работающие с одними и теми же отчетами или подотчетами; в других системах партнерство определяется явно. Для разных файлов пользователь может иметь разных партнеров.
3. Независимо от партнерства, определенным назначением пользователям могут быть даны особые полномочия, в общем случае недоступные обычным пользователям. Например, социолог, собирающий определенную информацию, может предоставить некоторым лицам право присоединять свои данные к одному из его файлов.
4. Пользователи, не являющиеся владельцем, партнерами или назначенными пользователями, составляют самый большой класс и называются рядовыми пользователями.
Рядовые пользователи обычно имеют меньшие полномочия, чем партнеры, которые в свою очередь имеют меньшие полномочия по сравнению с владельцем. Назначенные пользователи могут иметь любые полномочия.
Пользователи упомянутых классов могут иметь разные права доступа к файлу. Приведенный ниже список прав доступа достаточно представителен, но он содержит далеко не все возможные ситуации.
1. Никаких прав. Некоторые системы не дают пользователю никаких прав доступа к файлу, так что пользователь может даже не знать о его существовании.
2. Знание. Пользователь может знать, что файл существует и кто его владелец. Он может попросить. владельца дать ему более широкие права. Большинство систем позволяет всем пользователям просматривать каталог и знать, какие файлы существуют в системе.
3. Исполнение. Пользователь может загрузить программу для исполнения, но не может скопировать ее. Доступ к собственным программам часто определяют именно таким образом.
4. Чтение. Пользователь может читать файл для любой цели, включая исполнение и копирование.
5. Добавление. Пользователь может добавлять данные к файлу, часто только в конец файла, но не может ни перезаписывать, ни перемещать никакие компоненты файла. Это право полезно при сборе данных из разных источников.
6. Корректировка. Пользователь может изменять данные в файле. Обычно сюда относится первоначальная запись файла, перезапись его полностью или по частям или перемещение всех или части данных. Некоторые системы кроме этого дополнительно дифференцируют права в соответствии с разными видами корректировки.
7. Изменение защиты. Пользователь может изменять права доступа, предоставленные другим пользователем. Если право изменить защиту дано партнеру некоторого владельца, то он может расширить права своих партнеров. Для защиты от злоупотреблений этим очень мощным механизмом обычно определяют, какие именно права этот пользователь может изменять.
8. Уничтожение. Пользователь может уничтожить файл в системе.
Можно рассматривать предыдущий перечень прав доступа как некоторую иерархию, в которой каждое право включает в себя все права, предшествующие ему в этом списке. Таким образом, защиту файла можно полностью определять, указав верхний уровень прав доступа для каждого класса пользователей. Обычно владелец файла может делать все (например, уничтожить файл), партнеры могут добавлять данные в файл, а рядовые пользователи могут читать файл. Эта информация может находиться в каталоге как часть описания файла.
Иерархия прав доступа может быть другой. Например, пользователь может добавлять информацию в. файл, но не имеет права читать его. Такое ограничение может быть установлено, допустим, преподавателем, собирающим ответы у студентов, которые не должны подглядывать чужие ответы.
Система МРЕ III для ЭВМ HP 3000 классифицирует пользователей и файлы более структурированным образом. каждый файл считается принадлежащим некоторой группе; группа в свою очередь принадлежит некоторому расчету; каждый расчет принадлежит системе. Каждый пользователь принадлежит некоторому расчету и отождествляется с одной из его групп. Группа файлов может принадлежать одному пользователю, совместно использоваться пользователями одного расчета или быть открытой для всех. Среди пользователей выделяются владелец, пользователь группы, библиотекарь группы, пользователь расчета, библиотекарь расчета и рядовые пользователи. Для каждого из них владелец определяет права доступа, большая часть которых уже была описана; новым является право пользователя переписать файл в свою собственную группу.
Управление правами доступа может осуществляться с помощью паролей. Для разных способов доступа владелец может задавать разные пароли. Например, система может иметь четыре пароля: для исполнения, для чтения, для добавления и для записи. Пятый - пароль хозяина - может использоваться для установки и отмены любого из этих четырех паролей. Как и в других системах с паролями, эффективность такой системы основывается на том, что пользователи не разглашают пароли.