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

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

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


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

Лабораторная работа № 4
По дисциплине «Защита информации в информационно-коммуникационных
системах»
по теме: «Резервирование и восстановление данных программными средствами
ОС Linux»

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

Проверил:
Доцент кафедры БИСТ
И. И. Сватовский
Харьков - 2019
Цель работы: Изучение основ OС Linux, касающихся вопросов построения
файловых систем, алгоритмов логического удаления и восстановления файлов, их
копирования и записи, а также организации резервного копирования данных.

Ход и результаты работы:

4. Используя права обычного пользователя, введите команду fdisk –lu.

Видим, что у пользователя user1 нет прав для открытия. Повторим ввод команды
с правами суперпользователя.
Видим, что накопитель /dev/nvme0n1 состоит из 6 разделов: Windows recovery
environment, EFI (Extensible Firmware Interface) System, Microsoft reserved,
Microsoft basic data, Microsoft basic data, Linux filesystem.

Microsoft reserved - pарезервированный раздел Microsoft (MSR) - это раздел


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

5. Создайте в файловой системе новый пустой каталог mkdir /mnt/abcd,


который будет служить точкой монтирования. С помощью команды locale
установите, какая из кодировок по умолчанию поддерживается загруженной
операционной системой (koi8-r, например).

6. Используя команду mount –t <type> –o iocharset=koi8-r <dev> <dir> ,


где <type> – монтируемая файловая система (ntfs, vfat и др.), <dev> – файл
блочного устройства, соответствующий монтируемому логическому разделу
(например, /dev/sda1), <dir> – созданная точка монтирования (/mnt/abcd),
примонтируйте к дереву каталогов Linux файловую систему ОС Windows*,
которая должна быть установлена на одном из разделов жесткого диска.
После монтирования запустим редактор Midnight Commander и просмотрите
каталоги и файлы примонтированной системы.

Видим что русскоязычные имена файлов отображены правильно и что


отображение каталогов в МС на диске с ОС Windows соответствует исходному
виду.

7. Демонтируйте файловую систему ОС Windows* с помощью команды


umount. К моменту монтирования все каталоги и файлы смонтированной
файловой системы должны быть закрыты.

8. Возьмём USB Flash-диск и примонтируем его к файловой системе.


После подключения носителя к USB-интерфейсу запускается команда fdisk –lu.
Видим, что устройство имеет файловую систему FAT32.
С помощью команды cat или файлового менеджера просмотрите файлы на
примонтированном носителе информации.

9. Командой umount /mnt/usb отключите устройство и извлеките его. Путем


просмотра файлов в каталоге /var/log найдите запись, которая зафиксировала
факт подключения USB Flash-диска (предположительно это файл
/var/log/message).

USB Flash-диска был отключен успешно. И в файле /var/log/syslog находится


информация о подключенном устройстве USB.

10. С помощью команды cat /root/.bash_history просмотрите текстовый файл


истории команд.

Аналогичный файл истории команд можно найти в домашнем каталоге


пользователей от чьих имён вводились команды.
Для удобной очистки истории ввода команд можно использовать команду
«history -c».
11. Создайте любыми известными вам командами в рабочем каталоге
пользователя 5 текстовых файлов с именами “A”, ... , “Е” размером от 500 до
10000 байтов. Проверьте фактическое их создание, используя, например,
команду ls с соответствующим параметром.

12.

13. Зафиксируйте в отчете номера inode и логических блоков, выделенных


каждому созданному файлу.
928320 - 3751164
928377 - 3751186
928379 - 3751202
928380 - 3751202
928381 - 3751098 3751099
14. Логическое удаление файла в Linux
происходит тогда, когда из
соответствующего каталога удаляется последнее имя (жесткая ссылка) файла.
Кроме удаления записи в каталоге, система обнуляет биты, закрепленные за этим
файлом в битовой карте блоков и индексных дескрипторов, увеличивая цифру
свободных inode и блоков в файловых системах ext2fs и ext3fs.
С помощью команды rm –f удалим все ранее созданные нами файлы.
Используя команду ls –l, просмотрим рабочий каталог пользователя и убедимся,
что логическое удаление файлов состоялось.

15. Создайте еще 7 новых файлов с произвольными именами, в том числе, с


именами большой длины (больше 32 символов). Просматривая содержимое
рабочего каталога пользователя с помощью команды ls –li, найдите вновь
созданные файлы и установите, какие из индексных дескрипторов ранее
удаленных файлов система передала новым объектам.

928377, 928379, 928380, 928381 были выданы повторно. Количество inode в


системе ограничено. Для избежания ситуации когда невозможно создать файл из-
за отсутствия свободного inode после удаления файла\папки его inode
освобождается для других файлов\папок.

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


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

Видим, что мы имеем 1 логический раздел /dev/nvme0n1p2, который назначен


разделу /boot/efi.

18. Предложите собственную методику восстановления данных удаленного


файла для случая, когда его индексный дескриптор уже оказался занятым.

После того как процесс, открывший файл, завершится, восстановление файла


становится задачей потруднее, поскольку индексный дескриптор освобождается и
всякая связь между данными в блоках на диске и файловой системой потеряна. До
тех пор, пока данные физически не будут перезаписаны на диске, существует
возможность их восстановления при помощи утилиты Scalpel. Этот инструмент
последовательно, блока за блоком, обходит содержимое диска и анализирует его
содержимое, пытаясь найти признаки существования там файлов. Для
поиска Scalpel использует шаблоны из последовательности байт, присущих
определённым типам файлов. Например, PNG-файлы содержат в заголовке
последовательность байт \x50\x4e\x47.

19. Командой debugfs войдите в среду отладчика файловой системы и откройте


логический раздел для чтения (командой open device, здесь device - файл
специального устройства с логическим разделом Linux).

В EXT4 есть резервирования inode, которое состоит в выделении нескольких


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

20. Вводим команду отладчика lsdel. Список inode удаленных файлов пуст.
Работа выполняется в ext4 возможно поэтому в файловой системе отладчик
debugfs не обнаруживает удаленных файлов.

28. Используя утилиту shred, удалите один из последних созданных файлов.


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

Для безвозвратного удаления файла можно воспользоваться утилитой shred,


которая отличается от обычной утилиты для удаления файлов тем, что она
записывает в блоки файла различный «мусор», чтобы этот файл невозможно было
восстановить.
Вывод: В ходе данной лабораторной работы рассматривались вопросы
построения файловых систем, алгоритмов логического удаления и
восстановления файлов, их копирования и записи в системе EXT4.
С помощью команды fdisk –lu можно просмотреть информацию о устройствах
хранения. Обычный пользователь не имеет доступа к данной информации. С
помощью команды locale установлено что в системе используется кодировка
UTF-8. Смонтировав систему Windows в данной кодировке с помощью редактора
Midnight Commander можно убедиться что кодировка UTF-8 сохранилась, и все
имена отображаются корректно.
Смонтирован USB Flash-диск в файловой системе FAT32. После
демонтирования USB информация о том, что устройство было подключено
отображается в файле /var/log/syslog.
Логическое удаление файла в Linux происходит тогда, когда из
соответствующего каталога удаляется последнее имя (жесткая ссылка) файла.
Когда вы удаляете файл, фактически вы просто удаляете ссылку на inode, в то
время как сам дескриптор ещё какое-то время будет существовать: до тех пор,
пока процесс, ранее открывший этот файл не освободит соответствующий
дескриптор для записи. Таким образом, есть какое-то время, в течение которого
можно восстановить содержимое удалённого файла. Хотя мы не увидели список
удалённых inode в debugfs. После того как процесс, открывший файл,
завершится, восстановление файла можно при помощи утилиты Scalpel.
Было расмотрено чем отличаются обычная команда удаления и shred.
Последний записывает в блоки файла различный «мусор», чтобы этот файл
невозможно было восстановить.

Linux предлагает различные средства для восстановления утраченных данных.


Но всё же лучше не забывать про своевременное резервное копирование.

Вам также может понравиться