Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Многопользовательская защита (только ОС UNIX)

Пользователи, которым разрешено входить в систему, перечислены в учетной базе пользователей. Пользователи обьединены в группы; последние перечислены в в учетной базе групп. Каждому пользователю и каждой группе присвоены целочисленные идентификаторы.

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

С каждым файлом связана пара идентификаторов: пользовательский и групповой. Файл наследует эти идентификаторы от эффективных идентификаторов процесса, создавшего данный файл. Процесс, эффективный пользовательский идентификатор которого совпадает с пользовательским идентификатором файла, считается владельцем данного файла.

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

Проверка прав происходит, когда процесс пытается открыть файл для чтения или записи, выполнить его.

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

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

Если процесс не имеет привилегий, то ему разрешается доступ к файлу в трех случаях:

  • процесс является владельцем файла (см. выше) и аттрибуты защиты файла разрешают запрашиваемый вид действия владельцу;
  • эффективный групповой идентификатор процесса совпадает с групповым идентификаторoм файла и аттрибуты файла разрешают запрашиваемый вид действия группе;
  • аттрибуты файла разрешают запрашиваемый вид действия всем процессам.

Если ни одно из условий не выполняется, то процесс не получает доступ к файлу.

Системные вызовы операционной системы UNIX обеспечивают: получение информации о пользователях и группах в учетной базе (при наличии соответствующих привилегий) и получение информации о защите конкретного файла.