Файловые системы Файловая система NTFS. Краткое описание Разработана для быстрого выполнения стандартных файловых операций типа чтения, записи и поиска.

Презентация:



Advertisements
Похожие презентации
Лекция 12 Файловые системы NTFS - продолжение. ТТХ.
Advertisements

Операционные системы и среды. Схема устройства жесткого диска Дорожка N Сектор (блок) Пластина 1 Пластина 2 Цилиндр 0 сторона Диск – одна или несколько.
Файлы и файловая система Шинкаренко Евгений Александрович МОУ Гимназия 2 г. Черняховск Калининградской области.
Каждая наука лишь тогда достигает своего совершенства, когда породнится с математикой. Кант СИСТЕМНОЕ И ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Тема лекции:
Администрирование информационных систем Механизмы обеспечения безопасности данных.
Логическая структура носителя информации. ЛОГИЧЕСКАЯ СТРУКТУРА НОСИТЕЛЯ ИНФОРМАЦИИ Логическая структура носителя информации в файловой системе FAT имеет.
«Особенности файловой системы WinFS» Сравнение с предыдущими файловыми системами.
Логическая структура носителя информации. ЛОГИЧЕСКАЯ СТРУКТУРА НОСИТЕЛЯ ИНФОРМАЦИИ Логическая структура носителя информации в файловой системе FAT имеет.
1 Структура диска Файловые системы ОС Windows NT/2000/XP/7 - FAT (File Allocation Table) - NTFS (New Technology File System) Повторение.
Лекция 11 Файловые системы. FAT32 File Allocation Table «таблица размещения файлов» Максимально возможное число кластеров в FAT32 равно кластеров,
Выполнила: Калашникова Екатерина 11 класс 2008 г..
. Имя метафайла Назначение метафайла SMFT Сам Master File Table SMFTmirr Копия первых 16 записей MFT, размешенная посередине тома SLogFile Файл поддержки.
Загрузочные файлы Win NT. ФайлыМестоположениеОписание NTLDR корневой каталог загрузочного диска Загрузчик OC Boot.ini корневой каталог загрузочного диска.
Физические модели баз данных Файловые структуры, используемые для хранения информации в базах данных.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
Создание и настройка новых разделов жесткого диска.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
«Защита базы данных» Преподаватель: Французова Г.Н.
Структура диска - FAT (File Allocation Table) - NTFS (New Technology File System) 1.
Транксрипт:

Файловые системы Файловая система NTFS

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

Понятия и термины NTFS Структура NTFS начинается с тома (volume). Том соответствует логическому разделу на диске и создается, когда Вы форматируете диск или часть его для NTFS. NTFS обрабатывает каждый том независимо от других. На одном диске может находиться один или несколько томов.

Типы томов Простой том (simple) Составной (набор) том (spanned) – том, использующий более одного раздела для формирования одного протяженного. Можно использовать разделы с разных дисков для создания набора томов, большего по объему, чем любой имеющийся на компьютере физический диск. Зеркальный том (mirrored) содержит копии своих данных на двух разделах. В случае зеркала запись данных производится на оба раздела, а считывание происходит только с одного. Зеркальный том устойчив к сбою одного диска, в этом случае работает оставшаяся половина. Чередующийся набор томов (stripped) – том, состоящий из нескольких разделов, по которым равномерными блоками распределены данные. NT использует блоки данных по 64 Кбайт. Первый блок данных размером в 64 Кбайт хранится на первом разделе, вторые 64 Кбайт на втором и т.д. по кругу, возвращаясь к первому разделу. Чередующиеся наборы томов могут повысить производительность системы, если использовать разделы, размещенные на разных дисках, поскольку операции чтения- записи могут выполняться параллельно. Чередующийся набор томов с четностью (RAID-5 volume) – это чередующийся набор с дополнительным блоком данных размером в 64 Кбайт для разделов, образующих чередующийся набор. Дополнительный блок содержит информацию о четности, которую система NT может использовать при восстановлении данных, расположенных на одном из разделов чередующегося набора, в случае выхода из строя диска, где был расположен раздел.

Внутреннее имя тома В разделе HKEY_LOCAL_ MACHINE\SYSTEM\MountedDevices системного реестра хранится информация о базовых дисках. Внутреннее имя имеет форму \??\Volume{XX-XX-XX-XX}, где X числа, образующие глобальный уникальный ID (GUID), присвоенный тому операционной системой. Системная утилита mountvol

Развитие NTFS NTFS была разработана для семейства OC MS Windows NT В ОС Windows реализовано много новых возможностей, например, динамические диски, которым будет посвящена отдельная тема.

Размер кластера для NTFS Размер логического дискаРекомендуемый размер кластера 512 MB и менее512 б 513 Мб – 1 Гб1 Кб 1 Гб – 2 Гб2 Кб Более 2 Гб4 Кб Размер тома Секторов в кластере Рекомендуемый размер кластера

NTFS и архитектура Windows 2000

Физическая структура NTFS NTFS поддерживает размеры кластеров - от 512 байт до 64 Кбайт

MFT и ее структура

Метафайлы Первые 16 файлов NTFS (метафайлы) носят служебный характер. Метафайлы находятся корневом каталоге NTFS диска - они начинаются с символа имени "$" Для метафайлов указан реальный размер - можно узнать, например, сколько ОС тратит на каталогизацию всего диска.

Перечень метафайлов (1) $MFTсписок содержимого тома NTFS $MFTmirrкопия первой записи MFT $LogFileфайл поддержки журналирования шагов транзакций $Volume служебная информация - метка тома, версия файловой системы, т.д. $AttrDefсписок стандартных атрибутов файлов на томе $.корневой каталог $Bitmap карта свободного места тома, каждый бит которой соответствует одному кластеру тома и указывает его состояние (свободен или занят)

Перечень метафайлов (2) $BadClu s Список всех плохих кластеров тома. Кластер считается плохим, если в нем есть один плохой сектор $Secure База данных атрибутов безопасности. Применяется только в NTFS версии 5.0 в среде Microsoft Windows 2000 $Upcase файл - таблица соответствия заглавных и прописных букв в имен файлов на текущем томе. $Extend Файл хранит расширенную информацию файловой системы NTFS версии 5.0, применяемой в среде Microsoft Windows 2000, такую как дисковые квоты, точки монтирования и т.д.

Файл и его атрибуты (1) Standard Information (стандартная информация) Стандартный атрибут. Дата и время создания и последнего изменения файла, дата и время последнего доступа к файлу, флаги доступа к файлу, а также дата и время изменения записи MFT, соответствующей данному файлу. Attribute List (список атрибутов) Перечисляет все другие атрибуты. Filename (имя файла) Имя файла или каталога. В этом атрибуте хранится имя файла или каталога, набор флагов доступа, размер файла, а также ссылка на запись MFT каталога, в котором хранится данный файл или каталог. MS-DOS NameИмя файла в формате 8.3 VersionНомер последней версии файла Security Descriptor (дескриптор безопасности) Фиксирует информацию о том, кто может обращаться к файлу, кто является его владельцем и так далее (ACL) Data (данные)Содержит данные файла

Файл и его атрибуты (2) Volume Versionверсия тома, используется только в системных файлах тома Volume Information (информация о томе) Используется только в системном файле тома и включает в частности версию и имя тома Volume Nameотметка тома Index Root (корневой индекс) Корневая вершина дерева типа B+, используемого для поиска файлов в каталоге. Всегда резидентный. Index Allocation (размещение индекса) Узлы ветвей дерева типа B+. нерезидентные части индексного списка B-дерева External Attribute Information номер первого кластера и количество кластеров нерезидентного атрибута Bitmap (битовый массив) Предоставляет информацию об использовании записей в MFT или каталоге

Непосредственное хранение файлов Небольшие файлы и каталоги (меньше 1 Кбайт), типа файла, показанного на слайде, могут полностью содержаться внутри записи MFT.

Нерезидентное хранение файлов Запись MFT для файла среднего размера

Сжатие файлов

Разреженные файлы (sparse files) Другой тип сжатия известен как разреженные файлы. Если у вас есть файлы, которые содержат множество нулей (попросту говоря в файле есть "пустые области"), то NTFS позволяет сохранять пространство диска, давая таким файлам определение sparse (разреженный). Так вот при сохранении таких файлов система просто не выделяет место для пустых областей файла - в результате чего и достигается уменьшение размера файла (aka сжатие). При обращении системы к частям, отмеченным как пустые, NTFS просто возвращает нулевые значения. При просмотре свойств файла система сообщит о зарезервированном для него размере, хотя фактический объем может занимать в сотни тысяч раз меньший объем. Разреженные файлы применяются, в частности, в журнале изменений NTFS.

Разреженные файлы (sparse files) Разреженные файлы конвертируются с помощью следующей команды: fsutil sparse.

Многопоточные файлы При необходимости в одном файле, записанном на диске NTFS, можно хранить несколько потоков информации. Это позволяет, в частности, снабжать файлы документов дополнительной информацией, хранить в одном файле несколько версий документов (например, на разных языках), хранить в отдельных потоках одного файла программный код и данные и т.п. При создании файла основные данные следует записать в неименованный поток. Затем необходимо создать внутри того же файла именованный поток, предназначенный для данных образа. Теперь один файл будет содержать два потока.

Многопоточные файлы Проведем следующий эксперимент. На машине Windows 2003 откроем окно командной строки. Перейдем в раздел NTFS (например, в папку, содержащую системные шрифты) и введем следующую команду (не делайте лишних пробелов!): С:\WINDOWS\Fonts>dir > New_Stream.TXT:New_Stream В результате выполнения этой команды система создаст файл New_Stream.TXT. Он будет содержать два потока: неименованный, в котором находится 0 байт, и именованный (с именем New_Stream), где будет находиться результат выполнения команды dir. Доступ к именованному потоку можно получить, обратившись к нему по имени через двоеточие после имени файла. В именах потоков, как и в именах файлов, имеет значение регистр символов. Для вывода содержимого именованного потока воспользуемся: C:\WINDOWS\Fonts>more < New_Stream.TXT:New_Stream

Каталоги NTFS Каталог на NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное B+ дерево ( форма двоичного дерева, в каждом узле которого хранится несколько элементов), элементы которого сортируются по имени. Вот что это означает: для поиска файла с данным именем в линейном каталоге, таком, например, как у FAT-а, операционной системе приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов таким образом, чтобы поиск файла осуществлялся более быстрым способом - с помощью получения двухзначных ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя - выше или ниже? Мы начинаем с такого вопроса к среднему элементу, и каждый ответ сужает зону поиска в среднем в два раза. Файлы, скажем, просто отсортированы по алфавиту, и ответ на вопрос осуществляется очевидным способом - сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента. Вывод - для поиска одного файла среди 1000, например, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе дерева - всего около 10-ти (2^10 = 1024). Log2(N)

Простой и бинарный поиск

Бинарное дерево Бинарное дерево после добавления узла 18 Бинарное дерево после удаления узла 20

Хранение каталогов Небольшие записи каталогов находятся полностью внутри структуры MFT так же, как записи файла (копии атрибута File_Name файлов и подкаталогов). Для хранения используется атрибут $Index_Root (корневой индекс), который всегда резидентный ! В том случае, когда атрибуты файла (или каталога) не умещаются в MFT и требуется выделение дополнительного пространства: для хранения описания файлов выделяются нерезидентные индексные буферы (4 Кбайт), каждый из которых имеет виртуальный номер кластера (virtual clusters numbers, VCN); корневой индекс хранит корень дерева B+ и ссылки (VCN) на индексные буферы. соответствие между VCN и LCN хранится в атрибуте каталога $Index_Allocation. Примечание: Логические номера кластеров (LCN), представляют последовательность кластеров всего тома

Пример хранения каталогов а) запись MFT для небольшого каталога (резидентное хранение) б) запись MFT для большого каталога (нерезидентное хранение)

Запись MFT для небольшого каталога Запись MFT для небольшого каталога содержит несколько каталоговых записей, каждая из которых описывает файл или каталог. Фиксированная запись содержит индекс записи MFT файла, длину имени файла, а также другие разнообразные поля и флаги. Поиск файла в каталоге по имени состоит в последовательном переборе всех имен файлов.

Хранение корневого каталога

Нерезидентное хранение каталогов На рисунке показана запись MFT каталога, в трех узлах которой содержится девять элементов, по три в каждом узле. Корень B+ дерева находится в атрибуте index root (корень индекса). В записи MFT каталога девять элементов не умещается, поэтому некоторые элементы приходится хранить в другом месте. Для этого NTFS выделяет два буфера размещения индексов (index allocation) для хранения двух записей (как правило, корень индекса и буферы размещения индексов мо-гут хранить элементы для более чем трех файлов, в зависимости от длины имен). Размер записи MFT 1 Кбайт, а размер буферов размещения индексов 4 Кбайт. Красные стрелки указывают, что элементы NTFS хранятся в алфавитном порядке.

Нерезидентное хранение каталогов

Если запустить программу, которая открывает файл e.bak в показанном на рисунке каталоге, то NTFS читает атрибут индексного корня, содержащий элементы для d.new, h.txt и i.doc, и сравнивает строку e.bak с именем первого элемента, d.new. NTFS делает вывод, что алфавитный номер e.bak больше, чем d.new, и переходит к следующему элементу h.txt. Повторив операцию сравнения, NTFS выясняет, что алфавитный номер e.bak меньше, чем h.txt. Затем NTFS отыскивает в записи каталога h.txt номер виртуального кластера (virtual cluster number, VCN) индексного буфера, содержащего элементы каталога, алфавитные номера которых меньше, чем h.txt, но больше, чем d.new. VCN представляет собой порядковый номер кластера в файле или каталоге. На основании информации о размещении кластеров NTFS преобразует VCN в логический номер кластера (Logical Cluster Number, LCN), т. е. номер кластера относительно начала тома. Если элемент каталога для h.txt не содержит VCN индексного буфера, NTFS делает вывод, что каталог h.txt не содержит файла e.bak и сообщает о неудачном завершении поиска. Получив VCN начального кластера индексного буфера, NTFS читает буфер размещения индексов и просматривает его в поисках совпадений. На рисунке первый же элемент индексного буфера совпадает с критерием поиска, и NTFS читает номер записи MFT e.bak из элемента каталога e.bak. В элементах каталога хранится и другая информация: в частности, временные отметки (например, время создания и последнего изменения), размер и атрибуты. NTFS хранит эту информацию и в записи MFT файла, но, благодаря дублированию информации в элементе каталога, читать запись MFT файла при составлении списков каталогов и выполнении простых файловых запросов не требуется.

Хранение корневого каталога

Защита целостности данных NTFS является восстанавливаемой ФС и поддерживает следующие технологии защиты целостности данных: Горячая фиксация - позволяет файловой системе при возникновении ошибки из-за плохого кластера записать информацию в другой кластер и отметить сбойный в качестве плохого. Механизм транзакций - каждая операция ввода- вывода, которая изменяет файл на разделе NTFS, рассматривается файловой системой как транзакция и может выполняться только как неделимый блок. Система восстановления NTFS гарантирует корректность файловой системы, а не ваших данных.

Горячая фиксация а) MFT-запись файла с плохим кластером; б) исправленная MFT- запись файла;

Механизм транзакций Восстанавливаемость ФС в NTFS обеспечивается при помощи техники обработки транзакций, называемой протоколированием (logging). В процессе протоколирования, прежде чем выполнить над содержимым диска какую- либо подоперацию транзакции, изменяющей важные структуры файловой системы, NTFS записывает ее в файл журнала транзакций.

Механизм транзакций В состав средств протоколирования NTFS входят следующие компоненты: журнал транзакций (log file) – это системный файл, создаваемый командой Format. сервис журнала операций (log file service, LFS) – набор системных процедур, которые NTFS использует для доступа к журналу транзакций. (log file). диспетчер кэша (cache manager) – это системный компонент Windows, поддерживающий кэширование для NTFS и драйверов других ФС.

Кэширование в Windows Все ФС Windows NT осуществляют доступ к кэшированным файлам, отображая последние в виртуальную память выполняя чтение и запись в нее. В этих целях диспетчер кэша обеспечивает, ФС специализированный интерфейс к диспетчеру виртуальный памяти Windows NT. Если программа пытается обратиться к части файла, которая не загружен кэш, так называемый промах кэша (cache miss), диспетчер виртуальной памяти вызывает NTFS для обращения к драйверу диска и получения содержимого файла с диска. Диспетчер кэша оптимизирует дисковый ввод-вывод при помощи средства отложенной записи (lazy writer) набора системных потоков управления, вызывающих диспетчер виртуальной памяти для сброса содержимого кэша на диск в фоновом режиме (асинхронная запись на диск).

NTFS никогда не выполняет чтение-запись транзакций в журнал напрямую. LSN обеспечивает сервисы, которые NTFS вызывают для открытия файла журнала, помещения в журнал записей, считывания записей журнала в прямом и в обратном порядке, сброса записей журнала и т.д. Система обеспечивает восстановление тома следующим образом: 1. Сначала NTFS вызывает LFS для записи в (кэшированный) файл журнала любых транзакций, модифицирующих структуру тома. 2. NTFS модифицирует том (также в кэше). 3. Диспетчер кэша вызывает LFS для уведомления о необходимости сбросить журнал транзакций на диск (этот сброс реализуется LFS при помощи обратного вызова диспетчера кэша с указанием страниц памяти, подлежащих выводу на диск) Сбросив на диск журнал транзакций, диспетчер кэша записывает на диск изменения тома (сами транзакции).

Журнал транзакций (а) Сервис журнала транзакций (б) Журнал транзакций 1. Протоколирование транзакции 5. Вызов диспетчера ВП для доступа к спроецированному файлу 3. Сброс журнала транзакций на диск ? 4. Чт/Зп/Сброс на диск журнала транзакций 2. Запись обновлений тома

Вызывающая программа – NTFS-драйвер, передает LFS указатель на открытый файловый объект, который будет использоваться как журнал транзакций. LFS либо инициализирует новый журнал, либо вызывает диспетчер кэша Windows NT для доступа к существующему журналу через кэш (а). LFS делит файл журнала на две части: область рестарта (restart area) и «бесконечную» область протоколирования (logging area) (б). NTFS вызывает LFS для чтения и записи области рестарта. В этой области NTFS хранит информацию контекста, такую как позиция в области протоколирования, откуда она будет начинать чтение при восстановлении после сбоя системы. На тот случай, что область рестарта будет разрушена или станет по каким-либо причинам недоступной, LFS создает ее копию. Остальная часть журнала транзакций это область протоколирования, в которой находятся записи транзакций, обеспечивающие NTFS восстановление после сбоя. LFS создает иллюзию бесконечности журнала транзакций путем ее циклического повторного использования (в то же время гарантируя, что нужная информация не будет затерта). Для идентификации записей, помещенный журнал, LFS использует номера логической последовательности (logical sequence number, LSN).

Взаимодействие NTFS со связанными компонентами Протоколирование транзакции Вызов диспетчера ВП для доступа к спроецированному файлу Сброс журнала транзакций на диск Запись в кэш Загрузка данных с диска в память Чт/Зп обновлений тома

Взаимодействие NTFS со связанными компонентами

Записи модификации установка файловой информации переименование файла изменение прав доступа к файлу создание файла удаление файла расширение файла урезание файла

Структура записи модификации Информация для повтора (redo info) как вновь применить к тóму одну подоперацию полностью запротоколированной транзакции, если сбой системы произошел до того, как транзакция была переписана из кэша на диск. Информация для отмены (undo info) как устранить изменения, вызванные одной подоперацией транзакции, которая в момент сбоя была запротоколирована лишь частично.

Завершение транзакции После протоколирования транзакции NTFS выполняет ее подоперации непосредственно над томом – в кэше. По окончании обновления кэша NTFS помещает в журнал еще одну запись – подтверждение транзакции (committing a transaction). После того как транзакция подтверждена, NTFS гарантирует, что все вызванные ею модификации будут отражены на томе, даже если после подтверждения произойдет сбой ОС.

Запись контрольной точки Периодически (5 сек.) NTFS помещает в журнал транзакций записи контрольной точки: Запись контрольной точки помогает NTFS определить, какая обработка необходима для восстановления тома, если сбой произошел сразу после помещения этой записи в журнал. LSN контрольной точки записывается в область рестарта.

Таблицы восстановления Таблица транзакций (transaction table) предназначена для отслеживания транзакций, которые были начаты, но еще не подтверждены. Их надо удалить в процессе восстановления. В таблицу измененных страниц (dirty page table) записывается информация о том, какие страницы кэша содержат изменения структуры файловой системы, еще не записанные на диск. Эти данные в процессе восстановления должны быть сброшены на диск.

Процесс восстановления При восстановлении тома NTFS загружает журнал транзакций в оперативную память и выполняет три прохода: анализ; повтор транзакций; отмена транзакций.

Фаза анализа просмотр журнала транзакций в прямом направлении, начиная с последней операции контрольной точки; поиск записей модификации и актуализация таблиц восстановления для последней контрольной точки; определение самой старой записи модификации, которая регистрирует невыполнение диском операции. LSN этой записи является началом для фазы повтора транзакции.

Фаза повтора транзакции сканирование журнала транзакций в прямом направлении, начиная с LSN самой старой записи, которая была обнаружена на проходе анализа; поиск записей "обновление страницы", содержащие модификации тома, которые были запротоколированы до сбоя системы, но не сброшены из кэша на диск; повторение найденных обновлений в кэш.

Фаза отмены транзакции откат всех транзакций, не подтвержденных к моменту сбоя системы, с протоколированием в журнале транзакций; сброс на диск изменений кэша; запись пустой области рестарта.

Безопасность в NTFS Защита файлов NTFS на объектном уровне – Security Reference Monitor определяет, имеет ли пользователь необходимые права для вызова какого-либо из этих методов. Шифрование файлов с помощью специального драйвера EFS (Encrypting File System).

Назначение прав доступа для файлов и папок Стандартные разрешения: Full Control (Полный доступ) Modify (Изменить) Read & Execute (Чтение и выполнение) Read (Чтение) Write (Запись) Специальные разрешения: Traverse Folder/Execute File (Обзор папок/ Выполнение файлов) List Folder/Read Data (Содержание папок/ Чтение данных) Read Attributes (Чтение атрибутов) Read Extended Attributes (Чтение дополнительных атрибутов) Create Files/Write Data (Создание файлов/Запись данных) Create Folders/Append Data (Создание папок/ Дозапись данных) Write Attributes (Запись атрибутов) Write Extended Attributes (Запись дополнительных атрибутов) Delete (Удаление) Read Permissions (Чтение разрешений) Change Permissions (Смена разрешений) Take Ownership (Смена владельца)

Специальные разрешения для файлов и каталогов Traverse Folder / Execute File Определяет возможность перемещения по каталогам файловой системы вне зависимости от того, имеет или не имеет пользователь разрешения для просмотра пересекаемых в процессе перемещения каталогов. На работу этого разрешения влияет политика безопасности Bypass Traverse Checking (Обход перекрестной проверки) (см. узел Local Policies | User Rights Assignment в параметрах безопасности). Разрешение Execute File (Выполнение файлов) определяет возможность исполнения программ List Folder / Read Data Определяет возможность просмотра имен файлов или подкаталогов данного каталога (относится только к каталогу). Разрешение Read Data (Чтение данных) определяет возможность просмотра данных файла Read Attributes Определяет возможность просмотра атрибутов файла или каталога. Сами атрибуты определяются операционной системой Read Extended Attributes Определяет возможность просмотра дополнительных атрибутов файла или каталога. Сами дополнительные атрибуты определяются операционной системой Create Files /Write Data Определяет возможность создания файлов внутри каталога (относится только к каталогам). Разрешение Write Data (Запись данных) определяет возможность изменения содержимого файлов или перезаписи существующих данных файла новой информацией (относится только к файлам) Create Folders / Append Data Определяет возможность создавать подкаталоги внутри данного каталога (относится только к каталогам). Разрешение Append Data (Дозапись данных) определяет возможность присоединения новых данных к существующему файлу без изменения, уничтожения или перезаписи существующей информации (относится только к файлам)

Специальные разрешения для файлов и каталогов Write Attributes Определяет возможность изменения атрибутов файла или каталога. Атрибуты определяются операционной системой Write Extended Attributes Определяет возможность изменения дополнительных атрибутов файла или каталога. Дополнительные атрибуты определяются программой и могут быть ею изменены Delete Subfolders and Files Определяет возможность удаления подкаталогов и файлов, находящихся в данном каталоге, даже если для этих подкаталогов и файлов нет разрешения Delete (Удаление). Это разрешение имеется только у каталогов Delete Определяет возможность удаления файла или каталога. Если вам отказано в разрешении Delete (Удаление) для данного каталога или файла, вы все же можете удалить их, получив разрешение Delete Subfolders and Files (Удаление подпапок и файлов) на родительский каталог Read Permissions Определяет возможность чтения таких разрешений для файлов и каталогов, как Full Access, Read и т. д. Change Permissions Определяет возможность изменения таких разрешений для файлов и каталогов, как Full Access, Read и т. д. Take Ownership Определяет возможность вступления во владение данным файлом или каталогом. Владелец файла или каталога может всегда изменить разрешения к этому объекту, независимо от других разрешений

Область действия разрешений This folder only (Только для этой папки); This folder, subfolders and files (Для этой папки, ее подпапок и файлов); This folder and subfolders (Для этой папки и ее подпапок); This folder and files (Для этой папки и ее файлов); Subfolders and files only (Только для подпапок и файлов); Subfolders only (Только для подпапок); Files only (Только для файлов).

Шифрующая файловая система Шифрование файлов - полезная возможность для людей, которые беспокоятся за свои секреты – каждый файл или каталог может также быть зашифрован, что не даст возможность прочесть его другой инсталляцией NT. Шифрующая файловая система (Encrypting File System – EFS) применяется для защиты файлов, хранящихся в томах NTFS. Ее необходимость вызвана следующими соображениями. Если доступ к разделу NTFS осуществляется не с помощью средств ОС Windows , а напрямую, на физическом уровне, то средства разграничения доступа и защиты данных от несанкционированного доступа, обеспечиваемые ОС не действуют и данные пользователя могут оказаться беззащитными. Такой доступ можно легко организовать, загрузившись с дискеты и используя специальные утилиты. Если же злоумышленник может извлечь жесткий диск и подключить его к другому компьютеру, то его задача еще более упрощается – он может свободно овладеть конфиденциальной информацией, которая хранится на жестком диске. Единственный способ защиты от физического чтения данных это шифрование файлов. Система EFS была разработана, чтобы обеспечить надежный и простой доступ пользователя к зашифрованным файлам, исключив при этом возможность несанкционированного доступа к ним (даже на физическом уровне) посторонних лиц. Шифрующая файловая система может быть особенно выгодна мобильным пользователям, которые сталкиваются с повышенным риском кражи и потери компьютера.

Шифрующая файловая система Применяется для защиты файлов, хранящихся в томах NTFS: надежный и простой доступ пользователя к зашифрованным файлам на физическом уровне исключение возможности несанкционированного доступа к файлам от посторонних лиц

Архитектура EFS EFS располагается в ядре Windows Драйвер EFS Библиотека реального времени EFS Служба EFS Набор CryptoAPI для Win32

Архитектура EFS Драйвер EFS. Драйвер EFS является надстройкой над файловой системой NTFS. Он обменивается данными со службой EFS запрашивает ключи шифрования, наборы DDF (Data Decryption Field) и DRF (Data Recovery Field), а также с другими службами управления ключами. Полученную информацию драйвер EFS передает библиотеке реального времени файловой системы EFS (File System Run Time Library, FSRTL), которая прозрачно для операционной системы выполняет различные операции, характерные для файловой системы (чтение, запись, открытие файла, присоединение информации). Библиотека реального времени файловой системы EFS. FSRTL это модуль, находящийся внутри драйвера EFS, реализующий вызовы NTFS, выполняющие такие операции, как чтение, запись и открытие зашифрованных файлов и каталогов, а также операции, связанные с шифрованием, дешифрованием и восстановлением файлов при их чтении или записи на диск. Хотя драйверы EFS и FSRTL реализованы в виде одного компонента, они никогда не обмениваются данными напрямую. Для передачи сообщений друг другу они используют механизм вызовов (callouts) NTFS, предназначенный для управления файлами. Это гарантирует, что вся работа с файлами происходит при непосредственном участии NTFS. С помощью механизма управления файлами операции записи значений атрибутов EFS (DDF и DRF) реализованы как обычная модификация атрибутов файла. Кроме того, передача ключа шифрования файла РЕК (см. ниже), полученного службой EFS, в FSRTL выполняется так, чтобы он мог быть установлен в контексте открытого файла. Затем контекст файла используется для автоматического выполнения операций шифрования и дешифрования при записи и чтении информации файла. Служба EFS. Служба EFS (EFS Service) является частью системы безопасности операционной системы. Для обмена данными с драйвером EFS она использует порт связи LPC, существующий между локальным администратором безопасности (Local Security Authority, LSA) и монитором безопасности, работающим в привилегированном режиме. В режиме пользователя для создания ключей шифрования файлов и генерирования данных для DDF и DRF служба EFS использует CryptoAPI. Она также поддерживает набор API для Win32. Набор API для Win32. Этот набор интерфейсов прикладного программирования позволяет выполнять шифрование файлов, дешифрование и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного дешифрования). Эти API поддерживаются стандартным системным модулем DLL advapi32.dll.

Технологии шифрования EFS EFS использует архитектуру Windows CryptoAPI, использующую технологию шифрования с открытым ключом. Для шифрования каждого файла случайным образом генерируется ключ шифрования файла. Для шифрования файла по умолчанию используется симметричный алгоритм DESX с длиной ключа 56 бит. Windows XP и Windows Server 2003 позволяют переключить алгоритм на TripleDES. Ключи шифрования EFS хранятся в резидентном пуле памяти, что исключает несанкционированный доступ к ним через файл подкачки.

Шифрование с симметричным ключом Шифрование с симметричным ключом представляет данные в недоступном для третьих лиц виде, используя единый секретный ключ для шифрования и дешифрования. Область назначения – групповое шифрование больших объемов данных Достоинства – скорость и безопасность Недостатки – обмен ключами

Шифрование с симметричным ключом Среди симметричных алгоритмов можно выделить следующие: DES (Data Encryption Standard), DES 2, различные вариации TripleDES. Алгоритм TripleDES имеет различные конфигурации, немного отличающиеся по принципу работы: DES-EEE3 – тройное шифрование с различными ключами. DES-EDE3 – шифрует, дешифрует и ещё раз шифрует с различными ключами. DES-EEE2 – тройное шифрование, но одинаковые ключи только при первой и третьей итерациях. DES-EDE2 – шифрование, дешифрование и ещё раз шифрование с одинаковыми ключами при первой и третьей итерациях.

Возможности EFS шифрование файлов и папок шифрование удаленных файлов восстановление данных в EFS работа с зашифрованными файлами резервное копирование зашифрованных файлов усовершенствованная система EFS в Windows Server 2003

Шифрование файлов и папок

cipher [/Е | D] [t/S:каталог] [/A] [/I] [/F] [/Q] [/Н] [/К] [путь [...]] /Е Шифрует указанные в качестве параметра путь файлы. /D Дешифрует все указанные после ключа файлы. /S Выполняет заданную операцию с каталогом каталог и всеми его подкаталогами, файлы при этом не обрабатываются. /А Выполняет определенную ключом операцию как для каталогов, так и для отдельных файлов. /I Продолжает выполнение указанной операции даже после возникновения ошибочной ситуации. /F Осуществляет принудительное шифрование всех файлов, указанных после ключа, даже если они уже зашифрованы. /Q Выдает только краткую информацию. /Н Отображает файлы, для которых установлены атрибуты Hidden и System. /К Создает новый ключ шифрования файлов для пользователя, запустившего команду; при этом все другие ключи команды игнорируются.

Политика восстановления данных

Дополнительные возможности NTFS Hard Link – несколько имен для одного файла Точки соединения NTFS (junction point)

Создание Hard Link fsutil hardlink create Пример: fsutil hardlink create c:\foo.txt c:\bar.txt

Точки подсоединения Другим новшеством в Windows 2000 стало монтирование устройств. Утилита Disk Administrator Windows NT позволяла назначить тому букву латинского алфавита. Этот довольно простой метод дает возможность обратиться к любому дисковому устройству из стандартного меню открытия файла. Естественным ограничением на количество локальных и подключенных сетевых устройств было число 26, соответствующее числу букв латинского алфавита. Подмонтирование возможно только к пустым папкам на NTFS-томах, а точки монтирования вы можете создать или из оснастки «Управление дисками», или из командной строки при помощи команды mountvol. Для того, чтобы отличить подмонтированные накопители от обычных папок, Explorer показывает их иконками соответствующих устройств. Для чего это может понадобиться? Во-первых, можно таким образом преодолеть ограничение на количество доступных логических дисков (ранее их не могло быть больше 26 - по числу букв латинского алфавита), повысить ёмкость существующих томов не используя динамические и… создавать отказоустойчивые папки на обычных томах. Например, при монтировании нового основного раздела к папке D:\My Work Stuff все последующие обращения к этой папке будут автоматически переадресованы на соответствующий новый основной раздел, даже если он расположен на другом физическом диске, чем устройство D:. Если новый том является отказоустойчивым, то и папка D:\My Work Stuff считается отказоустойчивой, даже если само устройство D: этим качеством не обладает.

Утилита Mountvol С помощью утилиты mountvol.exe можно: Отобразить корневую папку локального тома в некоторую папку NTFS 5.0 (другими словами, подключить том). Вывести на экран информацию о целевой папке точки соединения NTFS, использованной при подключении тома. Просмотреть список доступных для использования томов файловой системы. Уничтожить точки подключения томов, созданных с помощью mountvol. Применяя утилиту mountvol, можно избежать использования большого количества имен устройств, поскольку обращение к необходимому тому происходит через корневую папку. Утилита mountvol создает неизменные связи с корневыми папками локального тома файловой системы. Она применяет в работе новую технологию, гарантирующую, что при изменениях в параметрах оборудования целевая папка не изменяется. Синтаксис вызова утилиты mountvol; mountvol [устройство:]путь Имя_тома где: [устройство:]путь определяет существующую папку NTFS 5.0, являющуюся точкой подключения тома; имя_тома определяет имя подключаемого тома. Параметры утилиты mountvol: /о уничтожение существующей точки подключения у указанной папки. /l отображение списка томов, подключенных к данной папке.

Фрагментация файлов в NTFS NTFS полностью не предотвращает фрагментацию NTFS снижает возможность возникновения фрагментации (например, в многозадачном режиме) NTFS снижает отрицательное влияние фрагментации на быстродействие

Дефрагментация NTFS defrag [-a] [-f] [-v] [-?] том Буква диска, или точка подключения (например, d: или d:\vol\mpoint) -a Только анализ -f Дефрагментация даже при ограниченном месте на диске -v Подробные результаты -? Вывод справки

Развитие NTFS Версия NTFS, поставляемая с Windows NT, ограничивает число разделов 26-ю (диски от A до Z). Кроме того, изменение раздела всегда требует перезагрузки. К тому же, информация о томах NTFS хранится в реестре, что усложняет использование диска с другой системой. Проблема была решена в Windows 2000 с помощью Logical Disk Manager (LDM), который больше не требует присвоения букв дискам. Эта система NTFS способна также сохранять информацию о системе на жёстком диске, что решает проблему замены дисков. Улучшения NTFS в Windows XP незначительны по сравнению с Windows Была улучшена пропускная способность данных, и вместо фиксированного размера кластера по 512 байт можно устанавливать другие значения. Также были улучшены и административные функции, к примеру, индексация папок и ограничение непредвиденных расходов памяти.

Получение справочной информации об NTFS fsutil fsinfo ---- Поддерживаемые команды FSINFO---- drives Отображение всех драйверов drivetype Отображение типа привода для устройств volumeinfo Отображение информации о томе ntfsinfo Отображение информации о NTFS statistics Отображение статистики файловой системы

C:\Documents and Settings\avtimofeev>fsutil fsinfo ntfsinfo C: Серийный номер тома NTFS: 0x405c3fc95c3fb90c Версия: 3.1 Число секторов: 0x Всего кластеров: 0x e22c6 Свободных кластеров: 0x de2db Всего зарезервировано: 0x Байт на сектор: 512 Байт на кластер: 4096 Байт на сегмент FileRecord: 1024 Кластеров на сегмент FileRecord: 0 Допустимая длина данных MFT: 0x Начальный LCN таблицы MFT: 0x c0000 Начальный LCN таблицы MFT2: 0x Начало зоны таблицы MFT: 0x c0 Конец зоны таблицы MFT: 0x

Оптимизация NTFS Отключите обновление сведений о последнем доступе к файлу fsutil behavior set disablelastaccess 1 Зарезервируйте необходимое пространство для MFT fsutil behavior set mftzone Отключите создание коротких имен файлов 8.3 fsutil behavior set disable8dot3 1

GetDataBack for NTFS

Дополнительная инф-ция Проект Linux-NTFS. Включает модуль ядра, а также набор утилит для различных операций с файловыми системами NTFS (проверка целостности, восстановление удалённых файлов, изменение размера и др.). Именной этот драйвер включается в ядро Linux ещё с версии 2.2 (с тех пор он был практически полностью переписан). Модулем ядра поддерживается практически только чтение (запись лишь в существующие файлы без изменения их размера), но недавно в рамках проекта утилита ntfsmount, использующая FUSE и позволяющая монтировать NTFS-разделы на запись. Это первый полностью свободный продукт, имеющий такую возможность.Linux-NTFS

Файловые системы Базовые (обычные) и динамические диски в NTFS

Базовые и динамические диски В Windows 2000 введены понятия базового и динамического дисков. Базовые диски построены с использованием схемы работы с разделами DOS. Другими словами, базовые диски являются унаследованными от Windows NT. На обычных дисках могут располагаться простые тома, например основные разделы диска, дополнительные разделы и логические устройства. При модернизации Windows 2000 с предыдущих версий Windows NT в число обычных дисков попадут все тома с защитой от сбоев, такие, как тома с дублированием и дисковые массивы с чередованием и четностью. На обычных дисках нельзя создать новые многодисковые тома. Динамические диски представляют собой новый тип дисков в Windows 2000, которые позволяют использовать многодисковые тома в Windows 2000.

Базовые диски против динамических Различие между базовым и динамическим дисками проявляется при обращении с томами, состоящими из нескольких разделов. Для базовых дисков вся информация о настройках сложных типов томов хранится в реестре (уязвимость и недостаточная надежность). Для динамических дисков информация о настройках сохраняется на диске. Такой способ хранения привязывает динамический диск к устройству хранения, на котором он определен. Используя динамическое хранение, вы можете управлять дисками и томами без перезагрузки операционной системы.

Динамические диски Windows 2000 рассматривает все диски как базовые, до тех пор пока вручную не будет создан динамический диск или базовый диск (при наличии на нем достаточного объема свободного пространства) не будет конвертирован в динамический.

Организация базовых и динамических дисков Базовый дискДинамический диск Системный (system partition) и загрузочный разделы (boot partition) Системный (system volume) и загрузочный тома (boot volume) Основной раздел (primary partition)Простой том (simple volume) Дополнительный раздел (extended partiotion) Простые тома и свободное пространство диска Логический диск (logical drive)Простой том Набор томов (volume set)Составной том (spanned volume) Чередующийся набор (stripe set without parity) Чередующийся том (stripped volume) Зеркальный набор (mirror set)Зеркальный том (mirrored volume) Чередующийся набор с четностью (stripe set with parity) Том RAID-5 (RAID-5 volume)

Logical Disk Manager Подсистема логического менеджера дисков Logical Disk Manager (LDM), состоящая из компонентов пользовательского режима и драйверов устройств, ответственна за динамические диски. LDM был лицензирован Microsoft у компании VERITAS Software, которая первоначально разработала эту технологию для UNIX. Совместно с Microsoft компания VERITAS перенесла LDM в Windows 2000, чтобы реализовать в ней новые возможности управления разделами. Механизмы управления разделами в стиле DOS и в стиле LDM различаются прежде всего тем, что LDM управляет одной унифицированной базой, хранящей информацию обо всех динамических дисках системы, включая настройку расширенных разделов.

Структура динамического диска База данных LDM размещается в зарезервированной области размером 1 Мбайт в конце каждого динамического диска. Соответственно, для выполнения конвертации в конце каждого базового диска должно быть свободное пространство. Кроме того менеджер дисков создает и обычную DOS-таблицу разделов, чтобы унаследованные утилиты управления дисками, в случае системы с многовариантной загрузкой ошибочно не посчитали динамический диск неразбитым на разделы. Таблица разделов нужна также для того, чтобы программа загрузки Windows 2000 могла находить системный и загрузочный тома, даже если они расположены на динамических дисках. Если диск содержит системный или загрузочный тома, разделы указывают на расположение этих томов. В противном случае один раздел начинается на первом цилиндре диска (при 63 секторах на диске) и продолжается до начала базы данных LDM. В этой области разделов и создаются разделы LDM, информация о которых хранится в базе данных диска.

Структура базы данных LDM База данных LDM состоит из четырех областей: сектора заголовка, называемого в LDM личным заголовком (Private Header); таблицы содержимого; записей базы данных; журнала транзакций. В целях защиты от сбоев LDM сохраняет копию Private Header в последнем секторе диска.

Структура базы данных LDM Таблица содержимого базы занимает 16 секторов и содержит информацию о расположении данных базы. Область записей начинается сразу после этой таблицы, с сектора, выделенного под заголовок базы. В данном секторе хранится информация об области записей: число записей, имя и GUID дисковой группы, к которой относится база, и порядковый номер, используемый LDM для каждой следующей записи базы данных. Вслед за заголовком базы размещены сектора, содержащие записи фиксированной длины размером 128 байт, в которых хранится информация о разделах дисковой группы и томах.

Записи базы данных Запись базы данных может быть одного из четырех типов: раздел, диск, компонент и том. LDM использует указанные типы записей и трехуровневую систему описания томов, сопоставляя записи базы данных с внутренними идентификаторами объектов.

Описание томов Для описания простого тома LDM нужно три записи: запись о разделе, запись типа компонент и запись о томе. На рисунке представлено содержимое простой базы LDM, которая определяет один 200-мегабайтный том на одном разделе. Запись о разделе описывает область на диске, выделенную системой для тома, запись типа компонент соединяет записи о разделе и томе, а запись о томе содержит GUID, используемый внутри Windows 2000 для идентификации тома. Более сложные тома требуют более трех записей. Например, чередующийся набор имеет как минимум две записи о разделах, запись типа компонент и запись о томе.

Журнал транзакций Последняя область базы LDM – зона журнала транзакций, состоящая из нескольких секторов для хранения резервной копии информации о структуре базы в процессе ее изменения. Данная область может помочь при разрушении LDM или сбое в питании, поскольку с помощью этого журнала базу можно вернуть в рабочее состояние.

Файловые системы NTFS vs. FAT

Поиск данных файла NTFS способна обеспечить быстрый поиск фрагментов, поскольку вся информация хранится в нескольких компактных записях. Если файл очень сильно фрагментирован – NTFS придется использовать много записей, которые могут храниться в разных местах. FAT32, из-за большой области самой таблицы размещения будет испытывать огромные трудности, если фрагменты файла разбросаны по всему диску. Для доступа к фрагменту файла в системе FAT16 и FAT32 приходится обращаться к соответствующей ячейке таблицы FAT. В системе FAT16, где максимальный размер области FAT составляет 128 Кбайт, это не составит проблемы – вся область FAT просто хранится в памяти, или же считывается с диска целиком за один проход и буферизируется. FAT32 же, напротив, имеет типичный размер области FAT порядка сотен килобайт, а на больших дисках – даже несколько мегабайт.

Поиск свободного места Для определения того, свободен ли данный кластер или нет, системы на основе FAT должны просмотреть одну запись FAT, соответствующую этому кластеру. Для поиска свободного места на диске может потребоваться просмотреть почти всего FAT – это 128 Кбайт (максимум) для FAT16 и до нескольких мегабайт (!) – в FAT32. Для того, чтобы не превращать поиск свободного места в катастрофу (для FAT32), ОС приходится идти на различные ухищрения. NTFS имеет битовую карту свободного места, одному кластеру соответствует 1 бит. Для поиска свободного места на диске приходится оценивать объемы в десятки раз меньшие, чем в системах FAT и FAT32.

Работа с каталогами и файлами FAT16 и FAT32 имеют очень компактные каталоги, размер каждой записи которых предельно мал. Работа с каталогами FAT производится достаточно быстро, так как в подавляющем числе случаев каталог не фрагментирован и находится на диске в одном месте. Единственная проблема – высокая трудоемкость поиска файлов в больших каталогах. Система хранения данных – линейный массив – не позволяет организовать эффективный поиск файлов в таком каталоге. NTFS использует гораздо более эффективный способ адресации – бинарное дерево. Сам каталог NTFS представляет собой гораздо менее компактную структуру, чем каталог FAT – это связано с гораздо большим (в несколько раз) размером одной записи каталога. Это обстоятельство приводит к тому, что каталоги на томе NTFS могут быть сильно фрагментированы. Размер типичного каталога в FAT укладывается в один кластер, тогда как сотня файлов (и даже меньше) в каталоге на NTFS уже приводит к размеру файла каталога, превышающему типичный размер одного кластера. Это, в свою очередь, может привести к фрагментации файла каталога, и уменьшить положительный эффект от более эффективной организации самих данных.

Итоги ПараметрЛидерАутсайдер Поиск данных файла FAT16, NTFSFAT32 Поиск свободного места NTFSFAT32 Работа с каталогами и файлами NTFS(*)

Итоги Тома FAT32 могут теоретически быть больше 2 ТБ, но операционные системы Windows Server 2003, Windows 2000 и Windows XP могут форматировать диски объемом только до 32 ГБ. (Windows Server 2003, Windows 2000 и Windows XP Professional могут читать и записывать на большие по объему тома FAT32, отформатированные другими операционными системами). Тома NTFS могут теоретически быть объемом до 16 эксабайт (ЭБ), но практический предел составляет 2 ТБ. Пользователь может определить размер кластера при форматировании тома NTFS. Однако NTFS- сжатие не поддерживается для кластеров, размер которых больше 4 КБ.