Имя метафайла Описание

$Quota Файл, в котором записаны права пользователей на использование

дискового пространства (этот файл начал использоваться лишь в Windows 2000 с системой NTFS 5.0)

$Upcase Файл с таблицей соответствия строчных и прописных букв в именах файлов.

В NTFS имена файлов записываются в кодировке Unicode (всего доступно 65 тысяч различных символов, поэтому искать сточные и прописные эквиваленты символов — нетривиальная задача)

Итак, все файлы тома представлены в таблице MFT. За исключением собственно данных, в этой структуре хранится вся информация о файлах: имя файла, размер, положение на диске отдельных фрагментов и т. д. Если для информации не хвата­ет одной записи MFT, то используются несколько записей, причем не обязательно последовательных. Если файл имеет не очень большой размер, тогда в ход идет довольно удачное решение: данные файла хранятся прямо в соответствующей за­писи таблицы MFT в оставшемся от служебных данных месте. Таким образом, файлы, занимающие не более сотни байтов, обычно не имеют своего «физическо­го» воплощения в основной файловой области — все данные таких файлов хра­нятся прямо в таблице MFT.

Файл на томе в системе NTFS идентифицируется так называемой файловой ссыл­кой (file reference), которая представляется как 64-разрядное число. Файловая ссыл­ка состоит из номера файла, который соответствует позиции его файловой записи в таблице MFT, и номера последовательности. Последний увеличивается всякий раз, когда данная позиция в MFT используется повторно, что позволяет файловой системе NTFS выполнять внутренние проверки целостности.

Каждый файл на диске в системе NTFS представлен с помощью потоков данных (streams)1, то есть у файла нет «просто данных», а есть «потоки данных». Чтобы правильнее понять эту сущность (поток данных), достаточно знать, что один из потоков имеет привычный нам смысл — это собственно данные файла. Кстати, большинство атрибутов файла (за исключением основных) — это тоже потоки дан­ных. Таким образом, получается, что основой файла является номер записи в таб­лице MFT, а все остальное, включая его потоки данных, не обязательно. Данный подход довольно удобен. Так, файлу можно назначить еще один поток данных, за­писав в него любые данные, например информацию об авторе и содержании фай­ла, как это сделано в Windows 2000 (эта информация представлена на одной из вкладок диалогового окна свойств файла). Здесь имеется определенная аналогия с расширенными атрибутами в HPFS. Интересно, что эти дополнительные потоки не видны стандартными средствами для работы с файлами операционной систе­мы: наблюдаемый размер файла — это лишь размер потока основных (традицион­ных) данных. Можно, к примеру, удалить файл нулевой длины, и при этом освобо­дится несколько мегабайтов свободного места — просто потому, что какая-нибудь «хитрая» программа или технология назначила ему поток дополнительных (аль­тернативных) данных такого большого размера. Однако на самом деле опасаться

' Не путать с потоками выполнения (threads).


194 Глава 6. Файловые системы

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

Стандартные атрибуты файлов и каталогов на томе NTFS имеют фиксированные имена и коды типа (табл. 6.7).

Таблица 6.7.Атрибуты файлов в системе NTFS Системный атрибут Описание атрибута

Стандартная Традиционные атрибуты («только для чтения», «скрытый»,

информация о файле «архивный», «системный»), отметки времени, включая время

создания или последней модификации, число каталогов,

ссылающихся на файл

Список атрибутов Список атрибутов файла и файловая ссылка на запись в таблице MFT,

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

Имя файла Имя файла в кодировке Unicode, файл может иметь несколько имен,

подобно тому как это имеет место в UNIX. Это случается, когда имеется связь POSIX к данному файлу или если у файла есть автоматически сгенерированное имя в формате 8.3

Дескриптор защиты Структура данных, соответствующая списку управления доступом (ACL) и предохраняющая файл от несанкционированного доступа. Дескриптор защиты определяет, кто владелец файла и кто имеет те или иные разрешения доступа к нему

Данные Собственно данные файла, его содержимое. В NTFS у файла

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

Корень индекса, Атрибуты, используемые для индексов имен файлов в больших

размещение индекса, каталогах битовая карта (только для каталогов)

Расширенные Атрибуты, используемые для реализации расширенных атрибутов

атрибуты HPFS HPFS для подсистемы OS/2, а также OS/2-клиентов файл-серверов

Windows NT

Разрешения NTFS

Разрешения NTFS (NTFS permissions) — это набор специальных расширенных ат­рибутов файла или каталога (папки), заданных для ограничения доступа пользо­вателей к этим объектам. Они имеются только на томах, где установлена файловая система NTFS. Разрешения обеспечивают гибкую защиту, так как их можно при­менять и к каталогам, и к отдельным файлам; они распространяются как на ло­кальных пользователей (работающих на компьютерах, где находятся защищенные папки и файлы), так и на пользователей, подключающихся к ресурсам по сети.


Файловая система NTFS______________________________________________ 195

Не следует путать разрешения с правами. Это совершенно разные понятия; по­дробнее об этом написано в подразделе «Модель безопасности Windows NT/2000/ ХР». К сожалению, в технической литературе да и в обиходе часто путают эти тер­мины. Истоком этого прежде всего являются ошибки перевода оригинальных анг­лоязычных материалов.

Разрешения NTFS служат, прежде всего, для защиты ресурсов от локальных пользо­вателей, работающих за компьютером, па котором располагается ресурс. Однако их можно использовать и для удаленных пользователей, подключающихся к об­щей папке по сети. Очевидно, что в этом случае на пользователей действуют два механизма ограничения в доступе к ресурсам: сначала сетевой, а уже затем локаль­ный, файловый. Поэтому итоговые разрешения на доступ будут определяться как минимальные из сетевых и файловых разрешений. Здесь необходимо сказать, что итоговые сетевые разрешения на доступ к ресурсам, которыми будет обладать пользователь при работе в сети, вычисляются как максимум разрешений в списке разрешений доступа, поскольку пользователь может быть членом нескольких групп, которые упомянуты в списке. Аналогично и для разрешений NTFS: пользователь получает максимальные разрешения, перечисленные в списке управления досту­пом, и только разрешение No Access (нет доступа)1 может перечеркнуть все осталь­ные разрешения.

Разрешения NTFS обеспечивают высокую избирательность защиты: для каждого файла в папке можно установить свои разрешения. Например, одному пользо­вателю можно позволить считывать и изменять содержимое файла, другому толь­ко считывать, третьему вообще запретить доступ. Заметим, однако, что настоя­тельно рекомендуется устанавливать разрешения в списках ACL, используя не учетные записи отдельных пользователей, а учетные записи групп пользовате­лей.

Итак, каждый файловый объект имеет свой список управления доступом. Этот список имеет приоритет над списком управления доступом того каталога, в кото­ром находится файловый объект. Подобно корневому каталогу файл-каталог, в от­личие от простого файла, является объектом контейнерного типа, то есть он мо­жет содержать другие файловые объекты. При создании нового файлового объекта он наследует разрешения NTFS. Поэтому при копировании файловых объектов они получают разрешения доступа, совпадающие с родительскими. Однако при перемещении файлов и каталогов в пределах одного диска списки управления до­ступом не меняются. Объясняется этот факт просто. Списки управления доступом являются одним из потоков данных файлового объекта, и доступ к ним осуществ­ляется через элемент каталога. Поэтому изменение информации о местонахожде­нии файла никак не должно влиять ни на один из потоков данных файла. Если же файлы (и подкаталоги) переместить с одного диска с NTFS на другой, то на новом диске создаются новые элементы каталогов и они должны унаследовать разреше­ния доступа того контейнера, в котором они создаются. Это очень важное обстоя­тельство, и при работе с разрешениями NTFS не следует о нем забывать.

' В Windows 2000/XP вместо стандартного разрешения No Access устанавливается запрет (deny) на соответствующее разрешение.


196___________________________________________ Глава 6. Файловые системы

Мы уже упоминали про списки ACL. Они могут быть у многих объектов. В NTFS у каждого файлового объекта на самом деле имеется два списка. Первый называ­ется DACL (Discretionary ACL — дискреционный список управления доступом). Именно этот список описывает ограничения на доступ к файловому объекту, пе­речисляя группы и пользователей и указывая те операции, которые разрешены и запрещены. Этот список может изменить любой пользователь, имеющий разреше­ние на изменение разрешений (change permissions) для данного файлового объек­та. Такое разрешение обычно обозначается буквой Р (от permissions — разреше­ния).

Второй список называется SACL (System ACL — системный список управления доступом). Этот список предназначен для аудита, и его могут составлять и редак­тировать только администраторы системы. Изначально списки SACL пусты, но их можно сформировать. В зависимости от того, успех или отказ в той или иной опе­рации над файловым объектом необходимо проконтролировать, администратор формирует список SACL. Элементами такого списка являются записи типа:

SID - разрешение - успех/отказ

Здесь аббревиатура SID означает Security Identifier (идентификатор безопасно­сти). Напомним, что во многих операционных системах для аутентификации и ав­торизации пользователей используются учетные записи (см. главы 1 и 11). Учетные записи бывают групповыми и пользовательскими. В системах класса Windows NT (2000/ХР) каждой учетной записи поставлен в однозначное соответствие ее иден­тификатор (в данном случае — SID).

Обрабатываться элементы списка SACL будут только в том случае, если в системе включен аудит на доступ к файловым объектам. Если в системе разрешен аудит файловых операций, то операционная система при их выполнении сравнивает за­писи в SACL с запросом и с записями в списке DACL и фиксирует в журнале безопасности соответствующие события.

Нас, прежде всего, должны интересовать списки DACL, которые и определяют разрешения на доступ к файлам и каталогам.

Каждый файловый объект имеет так называемую маску доступа (access mask). Маска доступа включает стандартные (standard), специфичные (specific) и родо­вые (generic) права доступа. Мы называем их здесь правами, чтобы отличать от тех разрешений, которые перечисляются в пользовательском интерфейсе. - Стандартные права доступа определяют операции, которые являются общи­ми для всех защищенных объектов. Право Read_Control позволяет прочитать информацию из дескриптора безопасности объекта. Право Write_DAC дает возможность изменить дискреционный список прав доступа. Право Write_Owner позволяет записать (изменить) владельца объекта. Право Synchronize дает возможность использовать объект для синхронизации. Наконец, есть пра­во Delete, которое позволяет удалить объект.

- Специфичные права доступа указывают основные права, характерные для файловых объектов. Так, например, специфичные права Read_Data, Write_Data и Append_Data позволяют прочитать данные, записать информацию и, соот­ветственно, добавить данные к файлу. Права Read_Attributes, Write_Attributes


Файловая система NTFS_______________________________________________ 197

и Read_EA, Write_EA позволяют, соответственно, прочитать или записать ат­рибуты или расширенные атрибуты файла или каталога. Наконец, такое специфичное право доступа, как Execute, позволяет запустить файл на вы­полнение.

□ Родовые права доступа используются системой; они определяют комби­нации стандартных и специфичных прав. Например, родовое право досту­па Generic_Read, примененное к файлу, включает в себя следующие специ­фичные и стандартные права: Read_Control, File_Read_Data, FiLe_Read_Attributes, File_Read_EA, Synchronize.

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

Поскольку операционные системы Windows 2000/XP нынче становятся основны­ми для персональных компьютеров, а в дисциплинах учебного плана многие очень важные вопросы, касающиеся практической работы в этих системах, к сожалению, не изучаются, мы изложим не только основные теоретические вопросы работы с разрешениями NTFS, но и осветим некоторые детали интерфейса.

Итак, разрешения NTFS по-разному представлены в операционных системах Win­dows NT 4.0 и семействе систем Windows 2000/XP. Отличия эти, прежде всего, касаются интерфейса, то есть программа Проводник (Explorer) по-разному ото­бражает те разрешения, которые на самом деле присвоены файловому объекту в виде разрешений доступа и обрабатываются на программном уровне. Разрешения в Windows 2000/XP ближе к тем специфичным, стандартным и родовым правам доступа, о которых мы говорили выше, однако для управления доступом к файлам они не так удобны, как разрешения Windows NT 4.0.

Для начала рассмотрим механизм разрешений NTFS для систем Windows NT 4.0. Во многих отношениях он является более простым и, соответственно, более по­нятным.








Дата добавления: 2016-09-20; просмотров: 618;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.01 сек.