Capability list

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

Примерами систем такого рода являются Hydra, Cambridge CAP System.

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

Существуют другие общие методы, используемые для смены домена в ОС, в которой идентификаторы пользователей используется для определения домена. Почти все системы нуждаются в таком механизме. Этот механизм используется, когда некая привилегированная возможность необходима большому количеству пользователей. Hапример, может быть желательно разрешить пользователям иметь доступ к сети без того, чтобы заставлять их писать собственные сетевые программы. Для этого случая в ОС Unix устанавливается бит setuid в сетевой программе, заставляя меняться домен на время ее выполнения. Таким образом, рядовой пользователь может получить нужные привилегии для доступа к сети.

Механизм Lock-Key.

Схема lock-key - компромисс между access lists и capability lists. Каждый объект имеет список уникальных битовых шаблонов (patterns), называемых locks. Аналогично, каждый домен имеет список уникальных битовых шаблонов, называемых ключами. Процесс, выполняющийся в домене, может иметь доступ к объекту, только если домен имеет ключ, который соответствует одному из locks объекта.

Как и в случае capability lists, список ключей для домена должен управляться ОС. Пользователям не разрешено проверять или модифицировать списки ключей (или locks) непосредственно.