next up previous
Next: Правила функционирования Up: Role-Compatibility (RC) Model Previous: Объекты и типы объектов:

Роли и модели доступа:

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

Для каждого класса объектов определены различные режимы доступа. Если быть более точным, то это:

access-modes(f/d) = {ADD-TO-KERNEL, APPEND-OPEN, CHANGE-GROUP, CHANGE-OWNER, CHDIR, CLOSE, CREATE, DELETE, EXECUTE, GET-PERMISSIONS-DATA, GET-STATUS-DATA, MODIFY-ACCESS-DATA, MODIFY-ATTRIBUTE, MODIFY-PERMISSIONS-DATA, MOUNT, READ, READ-ATTRIBUTE, READ-OPEN, READ-WRITE-OPEN, RENAME, SEARCH, TRUNCATE, UMOUNT, WRITE, WRITE-OPEN}

access-modes(ipc) = {ALTER, APPEND-OPEN, CHANGE-GROUP, CHANGE-OWNER, CLOSE, CREATE, DELETE, GET-PERMISSIONS-DATA, GET-STATUS-DATA, MODIFY-ATTRIBUTE, MODIFY-PERMISSIONS-DATA, READ, READ-ATTRIBUTE, READ-OPEN, READ-WRITE-OPEN, WRITE-OPEN}

access-modes(dev) = {APPEND-OPEN, CHANGE-GROUP, CHANGE-OWNER, CLOSE, MODIFY-ATTRIBUTE, MOUNT, READ-ATTRIBUTE, READ-OPEN, READ-WRITE-OPEN, UMOUNT, WRITE-OPEN}

access-modes(scd) = {GET-PERMISSIONS-DATA, GET-STATUS-DATA, MODIFY-ATTRIBUTE, MODIFY-PERMISSIONS-DATA, MODIFY-SYSTEM-DATA, READ-ATTRIBUTE, REMOVE-FROM-KERNEL, SHUTDOWN, WRITE}

access-modes(process) = {CHANGE-GROUP, CHANGE-OWNER, CLONE, CREATE, MODIFY-ATTRIBUTE, READ-ATTRIBUTE, SEND-SIGNAL, TERMINATE, TRACE}

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

Кроме того возможно задание типов вновь создаваемых объектов для данной роли. Для предотвращения создания объектов может быть использовано предопределённое значение "no-create". Специальные значения типов, такие как "type-inherit-parent" (или "type-inherit-process") могут быть использованы для наследования типа родительского каталога (или родительского процесса).

Также для каждой роли может сыть определен тип процесса после процедуры смены владельца или запуска нового процесса. Для отклонения этих запросов здесь могут использоваться специальные значения "no_chown" и "no_execute".

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

rc-default-role: def-role(u:user) = роль по умолчанию, заданная для пользователя "u", и начальная роль процессов, принадлежащих "u" после их создания, а так же после каждого изменения владельца (инициированного вызовом функции setuid).

Каждый процесс, в отдельно взятый момент времени, выполняет одну роль.

rc-role(p:process) = текущая, выполняемая процессом "p", роль
Дочерний процесс наследует rc-role от своего родительского. Это может быть изменено с использованием механизма force-role (см.ниже). При настройках по умолчанию роль изменяется только в случае изменения владельца процесса.


next up previous
Next: Правила функционирования Up: Role-Compatibility (RC) Model Previous: Объекты и типы объектов: