- •Безопасность операционной системы unix
- •Введение в безопасность unix Основы информационной безопасности
- •Политика безопасности
- •Управление доступом
- •Аутентификация и авторизация
- •Концепции безопасности unix
- •Пользователи и группы
- •Права доступа
- •Разделяемые каталоги
- •Подмена идентификатора субъекта
- •Недостатки базовой модели доступа и её расширения
- •Суперпользователь
- •Аутентификация пользователей
- •Настройка системы безопасности База данных пользователей системы
- •Изменение базы данных пользователей
- •Изменение прав доступа
- •Ограничения сеанса пользователя
Права доступа
Роль объектав 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) для обычных файлов. При установке этого бита на исполняемый файл процесс запускается от имени владельца, а не от имени запускающего пользователя
Подмена идентификатора пользователя является потенциальной угрозой безопасности системы и должна использоваться осторожно.