Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 семестр / ПОС / 4. Безопасность операционной системы UNIX.doc
Скачиваний:
81
Добавлен:
28.03.2015
Размер:
199.68 Кб
Скачать

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

Роль объектав UNIX играют многие реальные объекты, в частности представленные в файловой системе: файлы, каталоги, устройства, каналы и т. п.. Каждый файл снабжён UID – идентификатором пользователя-владельца. Вдобавок у файла есть единственный GID, определяющий группу, которой он принадлежит.

На уровне файловой системы в UNIX определяется три вида доступа: чтение (read,r), запись (write,w) и использование (execution,x). Право на чтение из файла дает доступ к содержащейся в нем информации, а право записи – возможность ее изменять. При каждом файле имеется список того, что с ним может делать владелец (если совпадает UID процесса и файла), член группы владельцев (если совпадает GID) и кто угодно (если ничего не совпадает) (см. Рисунок 4.1, «Базовые права доступа в UNIX»). Такой список для каждого объекта системы занимает всего несколько байт.

Рисунок 4.1. Базовые права доступа в UNIX

Флаг использованиятрактуется по-разному в зависимости от типа файла. В случает простого файла он задаёт возможностьисполненияфайла, т.е. запуска программы, содержащейся в этом файле. Для директории – это возможность доступа к файлам в этой директории (точнее говоря, к атрибутам этих файлов – имени, правам доступа и т.п..).

Рассмотрим последовательность проверки прав на примере (см. Рисунок 4.2, «Последовательность проверки прав доступа в UNIX»). Пусть файл имеет следующие атрибуты:

file.txt alice:users rw- r-- ---

Т.е. файл принадлежит пользователю «alice», группе «users» и имеет права на чтение и запись для владельца и только чтение для группы.

Пусть файл пытается прочитать пользователь «bob». Он не является владельцем, однако он является членом группы «users». Значит, он имеет права на чтение этого файла.

Рисунок 4.2. Последовательность проверки прав доступа в UNIX

Разделяемые каталоги

Права записи в директорию трактуются как возможность создания и удаления файлов, а также изменение атрибутов файлов (например, переименование). При этом субъекту не обязательно иметь права на запись в эти удаляемые файлы.

Таким образом, из своего каталога пользователь может удалить любой файл. А если запись в каталог разрешена всем, то любой пользователь сможет удалить в нём любой файл. Для избежания этой проблемы был добавлен ещё один бит в права доступа каталога: бит навязчивости(sticky,t-бит). При его установке пользователь, имеющий доступ на запись в этот каталог, может изменять толькособственныефайлы.

Подмена идентификатора субъекта

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

Для разрешение подмены идентификатора пользователя применяется бит подмены идентификатора пользователя(set user id, suid-бит,s). Этот бит применяется совместно с битом исполнения (x) для обычных файлов. При установке этого бита на исполняемый файл процесс запускается от имени владельца, а не от имени запускающего пользователя

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