Вы находитесь на странице: 1из 15

Министерство образования и науки Украины

Харьковский национальный университет им. В.Н. Каразина


Кафедра безопасности информационных технологий

Лабораторная работа № 3
По дисциплине «Защита информации в информационно-коммуникационных
системах»
по теме «Дослідження архітектури файлових систем ext*fs»

Выполнила:
студентка группы КБ–42
Доценко А.А.

Проверил:
Доцент кафедры БИСТ
И. И. Сватовский

Харьков - 2019
Цель работы: изучение основ OS Linux, касающихся работы со специальными файлами,
монтирования файловых систем, копирования и записи данных, а также безопасности
файловых систем ext*fs.
Ход и результаты работы:

6. С помощью команды ls -li / просмотрите список файлов корневого


каталога. В первом столбце указаны индексные дескрипторы файлов (inode).

В первом столбце указаны индексные дескрипторы файлов (inode).


inode хранит метаданные о стандартных файлах, каталогах или других объектах
файловой системы, кроме непосредственно данных и имени.
Имена индексных дескрипторов отличаются, т.к. номера файлов задаются по
мере их создания и размещения на диске, а у нас в каталоге хранятся различные
файлы которые могли быть созданы в разное время..
7. Аналогичным образом посмотрите начало списка файлов одного из
каталогов, например: ls -li /bin | more
Значения inode идут практически по порядку, они уникальны.

8. С помощью команды cat прочитайте файл /etc/mtab.

Файловая система ext*fs смонтирована на /dev/nvme0n1p6 разделе

9. Перейдите в каталог /home. С помощью любой известной команды


(например, echo, dd или cat) создайте файл, размер которого больше размера
одного сектора, но меньше размера одного блока.
10. Командой ls -li просмотрите список файлов в текущем каталоге и найдите
созданный файл.

Номер индексного дескриптора 937542.


Размер файла 1024. Тип файла обычный.
У владельца есть право на чтение и запись. У группы и остальных – на чтение.
Block count – количество блоков для одного файла (поле «Блоков») = 8
Шестнадцатиричный номер E4E46.

11. Выведите поэкранный дамп блока данных файла.

12. Командой rm <file_name> удалите созданный файл.


13. Cнова создайте в текущем каталоге второй файл с другим именем и
заполнением. Размер очередного файла должен быть немного меньше
предыдущего (например, 500 байтов).

14. С помощью дискового редактора (например, LDE или команды блочного


копирования dd с перенаправлением вывода в программу xxd или hexdump)
посмотрите таблицу inode и блок данных повторно созданного файла.
В блоке данных не остался информационный «мусор» от прежнего файла.

15. Мы не обнаружили, что выводятся сведения об уже удаленном файле. Но


если бы выводились это бы означало, что содержимое дискового кэша, откуда
берет информацию утилита ls, еще не записано на диск. Принудительно
сохранить на диск вновь созданный файл можно путем перезагрузки системы
(reboot) либо с помощью дисковой утилиты командой hdparm –f <dev> .
16. Удалите второй созданный файл. Создайте третий файл с иным именем и
размером более одного блока (например, 5000 байтов). Вновь удалите файл.

17. Создайте четвертый файл с отличающимся именем и размером менее


одного блока (например, 3000 байтов). После того как вы убедитесь в создании
очередного файла, посмотрите содержимое последнего блока, оставшегося от
третьего файла.

18. Создайте пятый файл с размером 10000 байтов. С помощью команды


chattr +s <file_name> установите для данного файла дополнительный атрибут,
обозначающий гарантированное стирание блоков данных при удалении файла.
Убедитесь, что индексные данные отображают дополнительные атрибуты файла.

Атрибут +s задает гарантированное стирание файла при удалении.


19. Удалите пятый файл, после чего проверьте ранее занятые им inode и блоки
данных. (Поддержка некоторых дополнительных атрибутов файлов реализована
не во всех версиях ОС.)

Пятый файл удалился физически.

20. Запустите дисковый редактор или утилиту dd на поэкранный вывод


содержимого суперблока (блок номер 0). Первые 1024 байтов (400h) блока
отведены для размещения загрузчика (LILO или GRUB), но могут пустовать,
если загрузочная программа размещается в Master Boot Record (MBR). Суперблок
начинается со смещения 400h и имеет размер 1024 байтов. С помощью
справочных данных о файловой системе ext*fs, исследуйте содержимое
суперблока. Обратите внимание на то, что дамп памяти выводит
шестнадцатеричные слова в обратном порядке. Для перевода чисел из
шестадцатеричной системы счисления в десятичную из пользовательской консоли
запустите калькулятор bc и задайте его внутренней командой ibase=16
шестнадцатеричный ввод чисел. Теперь, вводя шестнадцатеричное число
(символы A–F должны быть заглавными!) и нажимая <Enter>, получаем его
десятичный эквивалент.
По результатам исследования полей суперблока письменно ответьте на
вопросы:
 1835008 файлов может быть создано в данной файловой системе
 4096 равен размер одного логического блока
 256 размер одного индексного дескриптора
 128М - объем диска зарезервированный для нужд суперпользователя
 На момент исследования занято 366796 блоков
 в последний раз проверялась файловая система

 8 номер у индексного дескриптора файлового журнала

21. Рассмотрите описатели групп блоков Group Descriptors, которые обычно


располагаются в первом блоке. Выберите первый из описателей размером 32
байта (две строки по 16 байтов). Найдите в нем и запишите в отчет
шестнадцатеричные адреса:

 битовой карты блоков (block bitmap) – 00000401


 битовой карты индексных дескрипторов (inode bitmap) – 00000411
 таблицы индексных дескрипторов (inode table) – 00000421

22. По аналогии с предыдущим пунктом прочитайте описатель 10-й группы


блоков. Найдите в нем адреса битовых карт блоков и индексных дескрипторов. С
помощью утилиты dd рассмотрите битовые карты.

23. Посмотрите шестнадцатеричный дамп одного из индексных дескрипторов в


inode table 10-й группы блоков (при использовании обычного 128–байтного
inode записи в блоке идут с интервалом в 80h байтов). По аналогии с перечнем
данных в таблице индексных дескрипторов определите и отразите в отчете:

Адреса битовых карт блоков и индексных дескрипторов: 0000080a и 0001800а.


dd размещает адреса блоков так: адрес битовой карты блоков, потом индексных
дескрипторов, а тогда таблицы индексных дескрипторов.

24. С помощью утилиты dd просмотрите несколько блоков данных


исследуемого файла.
25. С помощью дискового редактора посмотрите, что представляет собой файл
каталога. Для этого, воспользовавшись командой ls -li /, найдите номер inode
одного из подкаталогов первого уровня, откройте его, найдите номер первого
непосредственно адресуемого блока и изучите его.
26. Проведите наблюдения за временными отметками обычных файлов и
каталогов. Для этого можно использовать права одного из пользователей, создав
от его имени два каталога time1 и time2. В одном из каталогов с помощью
команды echo создайте несколько произвольных текстовых файлов. С помощью
утилиты stat выведите и запишите в форме таблицы все временные отметки
созданных объектов.
User1@sasha:/home/User1$ chmod +x time1
Access: 2019-12-08 22:37:56.091936989 +0200
Modify: 2019-12-08 22:43:28.774114827 +0200
Change: 2019-12-08 22:47:12.069093116 +0200
Таблица 1
Команда Файл Каталог
Время А Время С Время М Время A Время С Время М
ls 22:53:25 22:35:38 22:35:38 22:37:56. 22:36:16 22:36:16
ls -l 22:53:25 22:35:38 22:35:38 22:37:56 22:36:16 22:36:16
touch 22:56:41 22:56:41 22:56:41 22:37:56 22:43:28 22:36:16
stat 22:56:41 22:56:41 22:56:41 22:37:56 22:43:28 22:43:28
chmod 22:56:41 22:58:07 22:56:41 22:37:56 22:47:12 22:43:28
chown 22:56:41 22:58:55 22:56:41 22:37:56 22:50:27 22:43:28
mv 22:56:41 23:01:57 22:56:41 22:37:56 22:51:35 22:43:28
cp 23:03:23 23:01:57 22:56:41 22:53:25 22:51:35 22:43:28

Вывод: Были рассмотрены работы со специальными файлами, монтирования


файловых систем, копирования и записи данных, а также безопасности файловых
систем ext*fs на примере файловой системы EXT4.
При выводе команды ls -li / в первом столбце указаны индексные дескрипторы
файлов (inode). В /etc/mtab отображаются смонтированные устройства и файловые
системы. В исследуемой системе размер блока – 4096, сектора – 512. При
удалении файла и создании на его месте меньше с меньшим объёмом не было
обнаружено следов файла. Это может быть связано с тем, что в данной файловой
системе есть резервирования inode, которое состоит в выделении нескольких
inodes при создании каталога в ожидании того, что они будут использованы в
будущем. Это улучшает производительность, потому что вновь создаваемые в
этом каталоге файлы смогут использовать зарезервированные inodes. Поэтому
создание и удаление файлов производится более эффективно.
Была рассмотрена структура суперблока. Дамп памяти выводит
шестнадцатеричные слова в обратном порядке. Для перевода чисел из
шестадцатеричной системы счисления в десятичную был использован
калькулятор bc с его внутренней командой ibase=16 шестнадцатеричный ввод
чисел. Таким образом мы получили такие параметры как число блоков в
файловой системе, размер одного логического блока, размер одного индексного
дескриптора, объем диска зарезервированный для нужд суперпользователя, когда
последний раз проверялась файловая система мы получили переводя полученное
Unix время в стандартное с помощью онлайн конвертёра.
А также рассмотренны описатели групп блоков Group Descriptors.
Были проведены наблюдения за временными отметками обычных файлов и
каталогов, результаты которых представлены в Таблице 1. По которой можно
сделать выводы что команда ls не меняет время ни для файла ни для каталога.
Touch для файла изменяет Access, Modify, Change. А для каталога только Change.
Chmod, как и chown и mv изменяет только Change. Команда cp для файла меняет
Access и Change, а для каталога – только Access.