Организация UNIX-систем и ОС Solaris

       

Разделение всех пользователей по отношению к объекту


У каждого объекта есть владелец. Им может быть только один из пользователей данной системы UNIX. Появление объектов, которыми владеют пользователи, не зарегистрированные в данной системе, - это ошибка системного администратора. Такое может произойти при разархивировании файла, созданного в другой системе. Если вместе с файлом была сохранена информация о его владельце, то легко может оказаться, что в другой системе есть пользователь с таким идентификатором (UID), а в нашей - нет.

Обратите внимание: для системы важны не имена пользователей, а их идентификаторы. Допустим, что в чужой системе есть пользователь ivan с UID, равным 1000, а в нашей ivan имеет UID, равный 2001. Тогда при переносе файла с чужой системы к нам с сохранением информации о владельце файла, в нашей системе появится "бесхозный" файл, если у нас нет пользователя с UID 1000, или принадлежащий тому пользователю, чей это UID, если такой найдется.

Право владения объектом в UNIX передается по наследству от процесса к процессу, а при создании файла или каталога его владельцем становится тот пользователь, от чьего имени запущен процесс, создавший файл или каталог.

Однако в ряде случаев запускаемый процесс будет принадлежать не тому, кто запустил процесс-родитель, а иному пользователю. Например, при входе в систему пользователь сообщает имя и пароль программе login. Она работает от имени root (т.е. ее владельцем является пользователь root). Но программа login запускает для пользователя командный интерпретатор так, чтобы владельцем процесса командного интерпретатора был сам входящий в систему пользователь.

Любой объект имеет не только владельца, но и группу. Иногда владельца называют "хозяином", а группу - "группой владельца", "групповым владельцем", "групповым хозяином" и т.п. Смысл этого понятия в том, что каждому объекту в UNIX сопоставляется не только UID (User IDentificator), который идентифицирует владельца объекта, но и GID (Group IDentificator), который идентифицирует группу пользователей, имеющую особые права на объект.

Таким образом реализуется разделение всех пользователей по отношению к объекту на владельца объекта, группу, имеющую особые права на объект, и всех остальных. Группу, обладающую особыми правами на объект, мы будем называть группой объекта. Соответственно, мы будем говорить о группе файла, группе каталога или группе процесса. При этом надо помнить, что группа файла - это не группа, в которую входит файл или его владелец. В общем случае это произвольная группа, объединяющая произвольных пользователей и имеющая особые права на этот объект.



Содержание раздела