Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_по_экзамену_ОС.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
564.98 Кб
Скачать

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

Как и в любой многопользовательской системе, в операционных системах Unix, есть механизм управления доступом пользователей к тем или иным ресурсам системы ( процессорное время, память, файлы, директории и прочее ). Основными участниками данного механизма являются: Пользователь ( user ), Группа ( group ), Другие ( Other ), основными правами доступа в Unix, являются:

  • права доступа на чтение;

  • права доступа на запись;

  • права доступа на выполнение;

Соответственно, в Unix, права доступа и участники, сгруппированы три по три, read/write/execution для user/group/other.Кроме вышеупомянутых прав доступа, операционные системы Unix, поддерживает "файловые флаги", для обеспечения дополнительного уровня защиты, контроля и управления объектами системы. Например, с помощью флагов, можно запретить удаление файла, даже пользователю root.Вообще, правильней говорить не о правах пользователей, на тот или иной файл/директорию, а о правах процессов, так как все манипуляции с файлами ( создание, чтение, изменение, удаление ), производятся с помощью какой-то программы, например текстового редактора, который в запущенном виде, собственно и является процессом.Каждому пользователю системы, присваиваются идентификаторы, UserID ( идентификатор пользователя ) и GroupID ( идентификатор группы ), именно по ним операционная система определяет владельца и группу для того или иного объекта системы. Символические имена назначаются исключительно для удобства чтения, пользователями.Каждый процесс в операционной системе Unix, имеет не два, а четыре идентификатора, это, реальный UserID ( UID ) и эффективный UserID ( UID ) а так-же реальный и эффективный идентификатор группы GroupID ( GID ). Реальный UserID ( Реальный GroupID ) - реальные номера применяются для учета использования системных ресурсов. Эффективный UserID ( Эффективный GroupID ) - новый идентификатор, полученный процессом уже во время выполнения, применяются для определения прав доступа.Процессы запущенные автоматически ( например при старте системы ), так-же получают UserID, какой именно, определяется запускающей программой ( cron, inetd и т.д. ), в обычных случаях, UserID наследуется от родительского процесса. Некоторые процессы - "родители", могут присваивать, дочернему процессу - "потомку", UserID, не совпадающий со своим.Иногда, запущенный процесс, может во время выполнения, менять свои идентификаторы. Это происходит, когда в правах доступа на файл, установлены дополнительные биты, SUID ( Set user ID - бит смены идентификатора пользователя ) и SGID ( Set group ID - бит смены идентификатора группы ). Когда пользователь или процесс запускает файл, у которого установлен один из этих битов, процессу, временно присваиваются права владельца данного файла ( а не того, кто его запускает ). Таким образом, обычный пользователь, может выполнять команды от имени пользователя root.

  1. Права доступа в ос юникс.

Права доступа

Для файлов:

r – право читать файл;

w – право модифицировать файл (писать в него);

x – право исполнять файл – устанавливается у программ;

Для директорий:

r – право читать список файлов в директории;

w – право модифицировать директорию (создавать и удалять

из нее файлы); требует также наличия X;

x – право использовать файлы из директории; если у директории установлен только атрибут «x», то воспользоваться файлом можно, лишь зная заранее его имя, т.к. листинг директории посмотреть невозможно – это полезно, например, чтобы home-

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

Естественно, наличие атрибута «x» не дает права, к примеру, читать файл из такой директории, если у него нет атрибута «r».Что любопытно, возможен режим доступа «rwx---rwx», когда «все остальные» могут делать с файлом что угодно, а члены

группы – нет (хотя, казалось бы, они тоже «остальные»), и даже «---rwxrwx», когда с файлом может что угодно делать любой,кроме владельца. Это происходит потому, что Unix сначала проверяет, к какой категории относится персона, запрашивающая

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