Европейский Университет в Санкт-Петербурге
Опубликован: 10.10.2005 | Доступ: свободный | Студентов: 1716 / 298 | Оценка: 4.30 / 3.85 | Длительность: 16:22:00
ISBN: 978-5-94774-820-8
Лекция 4:

Установка ОС Solaris и управление пользователями

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >

Концепция безопасности UNIX

Вся система безопасности UNIX изначально строилась на трех китах: разделение всех пользователей по отношению к объекту на владельца объекта, группу объекта и всех остальных; назначение им прав доступа по отдельности; обязательное наличие у каждого объекта владельца и группы.

В современных системах UNIX для большей гибкости при настройке прав доступа введены дополнительные свойства объектов, такие как флаги для файлов и каталогов, списки управления доступом (ACL) для файлов и каталогов, аутентификация и авторизация с использованием различных служб аутентификации, подобных TACACS и RADIUS, а также модули аутентификации и авторизации (Pluggable Authentication Modules - PAM). В этой книге TACACS и RADIUS не рассматриваются, а технология и настройки PAM обсуждаются в "лекции 10" курса "Администрирование ОС Solaris".

Естественно, надежность усовершенствованной системы безопасности снизилась, а сложность администрирования выросла, как и при любом другом усложнении любой системы. Так что остается признать: чем больше возможностей по настраиванию системы предоставляется, тем внимательнее надо быть администратору.

Тем не менее для начала познакомимся с классической концепцией безопасности, так как все остальные дополнения представляют собой лишь надстройку над ней.

Объект

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

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

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

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

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

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

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

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

Назначение прав доступа поотдельности

Владельцу файла, группе файла и всем остальным пользователям могут быть поотдельности назначены разные права доступа к файлу. То же справедливо и в отношении каталога. Так реализуется назначение прав доступа к объекту в отдельности его владельцу, группе и "всем остальным".

Последних в документации и профессиональных разговорах иногда называют world ("мир"), имея в виду "вообще всех остальных пользователей этого компьютера". Этот термин происходит из далеких времен, когда компьютеров было мало, а пользователей у одного компьютера - очень много, и администратор мог гордо говорить о них - "мой мир".

Каждый объект имеет владельца и группу

Любой файл, каталог или процесс имеет владельца и группу. Это означает, что файлу, каталогу и процессу обязательно сопоставлены два идентификатора, которые называются UID (User ID) и GID (Group ID) соответственно. Администрировать систему легче, если все объекты имеют UID и GID из числа представленных в /etc/passwd и /etc/group соответственно. "Бесхозные" объекты вносят сумятицу в стройные ряды прав доступа и делают права доступа к ним владельца и группы бессмысленными - ведь никто из пользователей не может получить "чужое" право доступа.

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >