Книга: Восстановление данных. Практическое руководство
Типы атрибутов
Разделы на этой странице:
Типы атрибутов
NTFS поддерживает большее количество предопределенных типов атрибутов, перечисленных в табл. 6.6. Тип атрибута определяет его назначение и формат представления тела. Полное описание всех атрибутов заняло бы не одну главу, а целую книгу, поэтому здесь приводятся лишь наиболее "ходовые" из них, а за информацией об остальных обращайтесь к документации Linux-NTFS Project.
Таблица 6.6. Основные типы атрибутов
Значение | ОС | Условное обозначение | Описание |
---|---|---|---|
010h |
Любая | $STANDARD_INFORMATION |
Стандартная информация о файле (время, права доступа) |
020h |
Любая | $ATTRIBUTE_LIST |
Список атрибутов |
030h |
Любая | $FILE_NAME |
Полное имя файла |
040h |
Windows NT | $VOLUME_VERSION |
Версия тома |
040h |
Windows 2000 | $OBJECT_ID |
Глобально уникальный идентификатор (GUID) и прочие ID |
050h |
Любая | $SECURITY_DESCRIPTOR |
Дескриптор безопасности и списки прав доступа (ACL) |
060h |
Любая | $VOLUME_NAME |
Имя тома |
070h |
Любая | $VOLUME_INFORMATION |
Информация о томе |
080h |
Любая | $DATA |
Основные данные файла |
090h |
Любая | $INDEX_ROOT |
Корень индексов |
0A0h |
Любая | $INDEX_ALLOCATION |
Ветви (sub-nodes) индекса |
0B0h |
Любая | $BITMAP |
Карта свободного пространства |
0C0h |
Windows NT | $SYMBOLIC_LINK |
Символическая ссылка |
0C0h |
Windows 2000 | $REPARSE_POINT |
Для сторонних производителей |
0D0h |
Любая | $EA_INFORMATION |
Расширенные атрибуты для HPFS |
0E0h |
Любая | $EA |
Расширенные атрибуты для HPFS |
0F0h |
Windows NT | $PROPERTY_SET |
Устарело и ныне не используется |
100h |
Windows 2000 | $LOGGED_UTILITY_STREAM |
Используется шифрующей файловой системой (EFS) |
$STANDARD_INFORMATION
Атрибут стандартной информации описывает время создания/изменения/последнего доступа к файлу и права доступа, а также некоторую другую вспомогательную информацию (например, квоты). Структура атрибута стандартной информации кратко описана в табл. 6.7.
Таблица 6.7. Структура атрибута $STANDARD_INFORMATION
Смещение | Размер | ОС | Описание | |
---|---|---|---|---|
- - | Любая | Стандартный атрибутный заголовок (standard attribute header) | ||
00h |
8 | Любая | C — время создания (creation) файла |
|
08h |
8 | Любая | A — время изменения (altered) файла |
|
10h |
8 | Любая | M — время изменения файловой записи (MFT changed) |
|
18h |
8 | Любая | R — время последнего чтения (read) файла |
|
20h |
4 | Любая | Права доступа MS-DOS (MS-DOS file permissions) | |
Значение | Описание | |||
0001h |
Только на чтение (read-only) | |||
0002h |
Скрытый (hidden) | |||
0004h |
Системный (system) | |||
0020h |
Архивный (archive) | |||
0040h |
Устройство (device) | |||
0080h |
Обычный (normal) | |||
0100h |
Временный (temporary) | |||
0200h |
Разреженный (sparse) файл | |||
0400h |
Точка передачи (reparse point) | |||
0800h |
Сжатый (compressed) | |||
1000h |
Оффлайновый (offline) | |||
2000h |
Неиндексируемый (not content indexed) | |||
4000h |
Зашифрованный (encrypted) | |||
24h |
4 | Любая | Старшее двойное слово номера версии (maximum number of versions) | |
28h |
4 | Любая | Младшее двойное слово номера версии (version number) | |
2Ch |
4 | Любая | Идентификатор класса (class ID) | |
30h |
4 | Windows 2000 | Идентификатор владельца (owner ID) | |
34h |
4 | Windows 2000 | Идентификатор безопасности (security ID) | |
38h |
8 | Windows 2000 | Количество квотируемых байт (quota charged) | |
40h |
8 | Windows 2000 | Номер последней последовательности обновления (update sequence number USN) |
$ATTRIBUTE_LIST
Атрибут списка атрибутов (прямо каламбур) используется в тех случаях, когда все атрибуты файла не умещаются в базовой файловой записи, и файловая система вынуждена располагать их в расширенных файловых записях. Индексы расширенных файловых записей содержатся в атрибуте списка атрибутов, помещаемом в базовую файловую запись.
При каких обстоятельствах атрибуты не умещаются в одной файловой записи? Это может произойти в следующих случаях:
? файл содержит много альтернативных имен или жестких ссылок;
? файл сильно фрагментирован;
? файл содержит очень сложный дескриптор безопасности;
? файл имеет очень много потоков данных (т.е. атрибутов типа $DATA
).
Структура атрибута списка атрибутов приведена в табл. 6.8.
Таблица 6.8. Структура атрибута $ATTRIBUTE_LIST
Смещение | Размер | Описание |
---|---|---|
- - | Стандартный атрибутный заголовок (standard attribute header) | |
00h |
4 | Тип (type) атрибута (см. табл. 6.6) |
04h |
2 | Длина записи (record length) |
06h |
1 | Длина имени (name length), или ноль, если нет, условно — N |
07h |
1 | Смещение имени (offset to name), или ноль если нет |
08h |
8 | Начальный виртуальный кластер (starting VCN) |
10h |
8 | Ссылка на базовую/расширенную файловую запись |
18h |
2 | Идентификатор атрибута (attribute ID) |
1Ah |
2N | Если N>0 , то имя в формате UNICODE |
$FILE_NAME
Атрибут полного имени файла хранит имя файла в соответствующем пространстве имен. Таких атрибутов у файла может быть и несколько (например, имя Win32 и имя MS-DOS). Здесь же хранятся и жесткие ссылки (hard link), если они есть.
Структура атрибута полного имени приведена в табл. 6.9.
Таблица 6.9. Структура атрибута $FILE_NAME
Смещение | Размер | Описание |
---|---|---|
- - | Стандартный атрибутный заголовок (standard attribute header) | |
00h |
8 | Ссылка (file reference) на материнский каталог |
08h |
8 | C — время создания (creation) файла |
10h |
8 | A — время последнего изменения (altered) файла |
18h |
8 | M — время последнего изменения файловой записи (MFT changed) |
20h |
8 | R — время последнего чтения (read) файла |
28h |
8 | Выделенный размер (allocated size) файла |
30h |
8 | Реальный размер (real size) файла |
38h |
4 | Флаг (см. табл. 6.7) |
3Ch |
4 | Используется HPFS |
40h |
1 | Длина имени в символах — L |
41h |
1 | Пространство имен файла (filename namespace) |
42h |
2L | Имя файла в формате UNICODE без завершающего нуля |
- 1. Различные типы и кратности связей
- Применение пользовательских атрибутов
- 2.2.4. Типы сущностей и иерархия наследования
- Типы данных для работы с датой и временем
- Большие целые типы
- Типы страниц и их использование
- 1.2.3. Константы, переменные и типы
- 4. Лекция: Типы данных
- 9.1. Классы и прототипы
- 4. Кортежи. Типы кортежей
- 5. Отношения. Типы отношений
- 1. Базовые типы данных