В НТСФ у файла нет ничего, кроме атрибутов. Файл по сути состоит их атрибутов.
Атрибуты:
· Список атрибутов (если атрибуты не помещаются в основной записи)
· Имя файла
· Имя в формате 8.3
· Версия файла
· Дескриптор безопасности
· Версия тома (для системных файлов тома)
· Имя тома
· Данные
· Битовая карта использованеия блоков тома
· Корень
· Нерезидентные части файла
· Прочая инфа
Файлы бывают:
· Небольшие файлы – целиком помещаются в МФТ ~2 Кбайта
· Большой файл – в атрибуте Данные есть признак того, что файл не резидентен (адреса: LCN, VCN, k)
· Сверхбольшой файл – в списке атрибутов можно указать несколько атрибутов либо использовать двойную адресацию (нерезидентный атрубут ссылается на другие нерезидентные атрибуты)
· Очень большие файлы – если атрибут с адресами не помещается в одной записи, то он помещается в другую, а в основной записи – ссылка на него.
Каталог в НТФС –это вход в таблицу МФТ, который содержит атрибут Index Root (корень). Здесь хранится список всех файлов в каталоге – это ускоряет поиск файлов. Искать и сортировать файлы можно по любому из атрибутов.
Каталоги по размеру делятся на:
· Небольшие каталоги – весь список файлов резидентный.
· Большие каталоги – список файлов не помещается в запись, и требует нерезидентной формы хранения. Начало списка хранится в МФТ, и имена файлов являются узлами БИНАРНОГО ДЕРЕВА. Это здорово ускоряет поиск, тк. Поиск не линейный, а бинарный.
Контроль доступа к файлам в системах Unix и в Windows NT/2000/XP
Контроль доступа
Файлы – это самый популярный разделяемый ресурс на компьютере. Есть и другие виды разделяемых ресурсов (внешние устройства, память), схемы контроля доступа похожи.
Пользователь – это субъект доступа.
Разделяемый ресурс – объект доступа.
Пользователь пытается что-то с ресурсом сделать, а ОС должна разобраться, можно ему это или нет.
Для каждого типа объектов есть набор операций, который с ними можно выполнить (создать, открыть, закрыть, редактировать и тд)
Права доступа должны предоставляться дифференцированно по операциям.
Часто в ОС применяются унифицированные механизмы управления доступам к объектам разных типов:
· ЮНИКС – при доступе к устройствам используются те же механизмы безопасности и алгоритмы, что и при доступе к обычным файлам и каталогам.
· Виндовс НТ пошла еще дальше – есть специальная структура – ОБЪЕКТ БЕЗОПАСНОСТИ, которая создается для всех ресурсов разделяемых. Отвечает за все один модуль – МЕНЕДЖЕР БЕЗОПАСНОСТИ.
В качестве субъектов могут выступать:
· Пользователи – индивидуально можно задать все права, это дает гибкость, но загружает администраторов.
· Группы пользователей – удобнее.
У каждого объекта есть владелец – он может делать все, что хочет. Администратор тоже.
2 подхода к определению прав пользователя:
· Избирательный доступ (владелец сам выбирает, кому чего разрешить, только админу по умолчанию можно все)
· Мандатный доступ(права доступа жестко зависят от группы, владелец ни на что не влияет) – такие системы более надежные, но менее гибкие.
Механизм контроля доступа
Каждый пользователь и группа пользователей имеет символьное имя и уникальный числовой аайди. При входе в систему юзер сообщает имя, а система определяет его айди.
Все данные о юзерах хранятся:
· В спец файле (в Юникс)
· В спец базе данных (в виндовс НТ)
Вход пользователя в систему порождает ПРОЦЕСС-ОБОЛОЧКУ, которая:
· Ведет с юзером диалог
· Порождает от его имени другие процессы (они наследуют права доступа родителя)
ОС должна определять права доступа к ресурсам – набор операций, которые данный пользователь может над данным ресурсом выполнять.
Операции могут быть:
· Элементарные (много мелких) – тонкое управление, но накладно для администратора все это проверять и реализовать
· Укрупненные (как в Юникс – читать, писать, исполнять);
В Видновс НТ – по умолчанию юзер работает на укрупненном уровне, но может перейти на элементарный, если надо.
Права юзера могут быть описаны МАТРИЦЕЙ ПРАВ:
Почти во всех ОС матрица прав хранится по частям:
· Для каждого файла создается список управления доступом (Access Control List - ACC) – где описываются права пользователей по отношению к файлу. Он является частью характеристик файла и хранится на диске в соответствующей области.