Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Fillfile file_size symbol




ЛАБОРАТОРНАЯ РАБОТА № 2

«Исследование архитектуры файловых систем ext*fs»

 

1. Изучите теоретический материал, изложенный в главе 4, а также в параграфах 3.2 – 3.4 учебного пособия.

2. В Приложении к учебному пособию найдите и прочитайте справочный материал по использованию утилиты extview.

3. Зарегистрируйтесь в первой текстовой консоли с правами root. Пароль администратора узнайте у преподавателя.

4. С помощью Alt+F2 откройте второй текстовый терминал и зарегистрируйтесь как пользователь user1.

5. Вспомните синтаксис команд mount и umount.

6. С помощью команды which <file_name> убедитесь в наличии на дисковом разделе Linux программных файлов extview (или extv) и fillfile. Если указанные файлы отсутствуют, смонтируйте предоставленный преподавателем сменный носитель к одному из подкаталогов /mnt и скопируйте с него поименованные файлы в каталог /sbin. Размонтируйте носитель (до размонтирования не извлекать!) и верните его преподавателю.

7. С помощью команды ls -li / просмотрите список файлов корневого каталога. В первом столбце указаны индексные дескрипторы файлов (inode). Почему номера индексных дескрипторов основных подкаталогов так сильно различаются? Можете ли вы из выведенной на экран информации определить размер логического блока на диске (1, 2 или 4 Кб)?

8. Аналогичным образом посмотрите начало списка файлов одного из каталогов, например:

ls -li /bin | more

Сравните номера inode файлов, входящих в данный подкаталог. Какие вы можете сделать выводы относительно размещения файловых объектов на дисковом пространстве?

9. С помощью команды cat прочитайте файл /etc/mtab. Зафиксируйте в отчете смонтированные устройства и файловые системы, а также права на их монтирование. Запомните наименование логического раздела жесткого диска, на котором смонтирована файловая система ext*fs (например, /dev/sda3). К этому имени файла-устройства (далее оно будет обозначаться как <dev>) вы будете обращаться, запуская дисковый редактор extview.

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

создайте файл, размер которого больше размера одного сектора, но меньше размера одного блока. Например, с помощью команды fillfile 600 b вы создадите в текущем каталоге файл с именем b объемом 600 байтов, который содержит повторяющиеся символы b. С помощью таких файлов с определенным наполнением вам будет удобно наблюдать за дисковым пространством.

11. Командой ls -li просмотрите список файлов в текущем каталоге и найдите созданный файл. В первом столбце списка найдите и запишите номер индексного дескриптора файла. С помощью команды

extview -i <inode> <dev>

(вместо <dev> укажите нужный Linux-раздел на диске) выведите индексный дескриптор данного файла. По размеру файла и иным признакам убедитесь в том, что вы действительно наблюдаете inode созданного вами файла. Письменно ответьте на вопросы:

· К какому типу относится данный файл?

· Каковы права доступа на данный файл у владельца, группы владельца и прочих пользователей?

· Что означает число block count?

· Сколько блоков с непосредственной адресацией выделила система под данный файл?

· Запишите шестнадцатеричный номер блока данных этого файла.

12. С помощью команды

extview -b <block_number> <dev> | more

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

13. Командой rm <file_name> удалите созданный файл. С помощью дискового редактора вновь посмотрите таблицу inode и блок данных данного файла. Что с ними произошло?

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

15. С помощью редактора посмотрите таблицу inode и блок данных повторно созданного файла. Убедитесь в том, что это действительно он. Остался ли в блоке данных информационный «мусор» от прежнего файла?

16. Если вы обнаружили, что утилита extview выводит сведения об уже удаленном файле, это означает, что содержимое дискового кэша, откуда берет информацию утилита ls, еще не записано на диск, с которым работает extview. Принудительно сохранить на диск вновь созданный файл можно путем перезагрузки системы (reboot) либо с помощью дисковой утилиты командой

hdparm –f <dev>

17. Вновь удалите созданный файл. Создайте третий файл с иным именем и размером более одного блока (например, 5000 байтов). Убедитесь в наличии и заполнении файла, зафиксируйте номер последнего блока данных. Вновь удалите файл.

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

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

chattr +s <file_name>

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

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

21. С помощью команды extview -b 0 <dev> | more запустите дисковый редактор на поэкранный вывод содержимого суперблока (блок номер 0). Первые 1024 байтов (400h) блока отведены для размещения загрузчика (LILO или GRUB), но могут пустовать, если загрузочная программа размещается в Master Boot Record (MBR). Суперблок начинается со смещения 400h и имеет размер 1024 байтов. С помощью справочных данных о файловой системе ext*fs, приведенных в главе 4 учебного пособия и в Приложении 2, исследуйте содержимое суперблока. Обратите внимание на то, что дамп памяти выводит шестнадцатеричные слова в обратном порядке. Для перевода чисел из шестадцатеричной системы счисления в десятичную из пользовательской консоли запустите калькулятор bc и задайте его внутренней командой ibase=16 шест-надцатеричный ввод чисел. Теперь, вводя шестнадцатеричное число (символы A–F должны быть заглавными!) и нажимая <Enter>, получаем его десятичный эквивалент. В результате исследования полей суперблока письменно ответьте на вопросы:

· Сколько файлов может быть создано в данной файловой системе?

· Чему равен размер одного логического блока?

· Каков размер одного индексного дескриптора?

· Какой объем диска зарезервирован для нужд суперпользователя?

· Сколько блоков на момент исследования занято?

· Когда в последний раз проверялась файловая система? Каковы результаты проверки?

· Какой номер у индексного дескриптора файлового журнала?

· Что содержит неиспользуемая часть суперблока?

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

· битовой карты блоков (block bitmap),

· битовой карты индексных дескрипторов (inode bitmap),

· таблицы индексных дескрипторов (inode table).

23. По аналогии прочитайте описатель 10-й группы блоков. Найдите в нем адреса битовых карт блоков и индексных дескрипторов. С помощью extview и утилиты dd рассмотрите битовые карты и сделайте выводы об алгоритмах использования дискового пространства.

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

· тип этого файла и права доступа к нему,

· идентификатор владельца (выяснить, кому он принадлежит),

· размер файла в байтах,

· число имен этого файла,

· наличие дополнительных атрибутов этого файла,

· число блоков, занимаемых файлом,

· номера блоков данных с непосредственной и косвенной адресацией.

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

26. По имеющимся у вас данным определите, inode какого файла вы рассматривали. Для этого следует определить порядковый номер inode в своей группе, а также суммарное число индексных дескрипторов в 9 пропущенных группах. Для нахождения имени (или имен) файла по его номеру используйте возможности утилиты find (см. справку о командах). Укажите в отчете полный путь к этому файлу.

27. С помощью дискового редактора посмотрите, что представляет собой файл каталога. Для этого, воспользовавшись командой ls -li /,найдите номер inode одного из подкаталогов первого уровня, откройте его с помощью extview, найдите номер первого непосредственно адресуемого блока и изучите его. Сравните с форматом каталога, приведенным в теоретической части пособия. Сделайте выводы.

28. Если вы исследуете журнализируемую файловую систему, найдите в суперблоке индексный дескриптор файлового журнала и откройте его для просмотра. Обратите внимание на объем и расположение журнала. Изучите содержимое блока косвенной адресации.

29. Аналогичным способом посмотрите, что представляет собой файл символической ссылки. Обратите внимание на то, где и в каком виде в файле символической ссылки хранится путь к целевому файлу. Если не сумеете найти ответ, найдите и рассмотрите шестнадцатеричный и символьный дампы индексного дескриптора символической ссылки. Сделайте выводы и отразите их в отчете.

30. Проведите наблюдения за временными отметками обычных файлов и каталогов. Для этого можно использовать права одного из пользователей, создав от его имени два каталога time1 и time2. В одном из каталогов с помощью команды echo требуется создать несколько текстовых файлов. С помощью утилиты stat вывести и записать в табл. 1 все временные отметки созданных объектов. Какую информацию можно извлечь из временных отметок файлов?

Таблица 1

№ п/п Команда Файл Каталог
Время А Время С Время М Время А Время С Время М
  ls            
  ls -l            
  touch            
  stat            
  chmod            
  chown            
  mv            
  cp            

 

Контрольные вопросы

1. Как файловая система ext2fs операционной системы Linux использует дисковое пространство? Можно ли по индексным дескрипторам файлов и каталогов представить себе их взаимное расположение на жестком диске?

2. Какую роль в монтировании сменных носителей и логических разделов жесткого диска играет файл fstab? Чем отличаются автоматическое и «ручное» монтирование?

3. Почему дискету не следует извлекать из дисковода до ее размонтирования? Что произойдет в случае пренебрежения этим правилом?

4. В параметрах файла fstab могут быть указаны разрешения монтирования сменных машинных носителей для user и users. Чем отличаются эти разрешения?

5. Механизмы образования и удаления информационного «мусора» в файловых системах ОС Linux.

6. Экономно ли используется дисковое пространство в ОС Linux? Приведите доказательства своего ответа.

7. Пользователь может читать и записывать информацию на сменные машинные носители, даже если ему запрещено их монтировать. Как можно запретить использование сменных машинных носителей?

8. Какую опасность для системы представляют файлы, не имеющие владельца?

9. Как можно найти файл по номеру его inode?

ЛАБОРАТОРНАЯ РАБОТА № 3

«Восстановление данных программными средствами ОС Linux»

 

1. Изучите теоретический материал, изложенный в параграфах 3.3 – 3.4, 4.3 учебного пособия.

2. Зарегистрируйтесь в первом текстовом терминале с учетной записью root.

3. С помощью Alt+F2 откройте второй текстовый терминал и зарегистрируйтесь как пользователь user1.

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

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

6. Используя команду

mount –t <type> –o iocharset=koi8-r <dev> <dir>,

где <type> – монтируемая файловая система (ntfs, vfat и др.),

<dev> – файл блочного устройства, соответствующий монтируемому логическому разделу (например, /dev/sda3),

<dir> – созданная точка монтирования (/mnt/abcd),

примонтируйте к дереву каталогов Linux файловую систему ОС Windows*. Опция iocharset=koi8-r указывает на используемую кодировку, что позволит просматривать имена файлов в неискаженном виде. После монтирования запустите редактор Midnight Commander и посмотрите каталоги и файлы примонтированной системы. Если русскоязычные имена файлов отображены неправильно, демонтируйте раздел в соответствии со следующим пунктом и попробуйте задать иную кодировку.

7. Демонтируйте файловую систему Windows* с помощью команды umount <dev> или umount <dir> (вместо <dev> или <dir> укажите конкретные значения). К моменту монтирования все каталоги и файлы смонтированной файловой системы должны быть закрыты.

8. Получите у преподавателя поврежденный сменный машинный носитель (дискету, оптический диск, USB-Flash) с информацией, которую необходимо спасти. С помощью команды dd поблочно скопируйте часть дисковой памяти в файл /home/abcd (этот файл будет создан). Количество копируемых блоков зависит от состояния поврежденного носителя. Обязательно укажите последнюю опцию команды conv=noerror, позволяющую пропускать отсутствующие и поврежденные блоки. Рекомендуемый синтаксис команды

dd if=/dev/fd0 of=/home/floppy bs=512 count=10 conv=noerror,fsync.

Размер полученного файла должен соответствовать суммарному объему правильно прочитанных секторов дискеты. С помощью редактора (F3) файлового менеджера Midnight Commander или команды mcedit прочитайте созданный файл-образ машинного носителя. Убедитесь в том, что информация скопирована достоверно (в противном случае попытку создания файл-образа придется повторить).

9. Пользуясь командой dd, запишите произвольный текст в первый сектор анализируемой дискеты. Например:

echo 1234567890 | dd of=/dev/fd0 bs=1 seek=10 count=10

Затем просмотрите первый сектор дискеты командой cat /dev/fd0 | more и найдите следы своей записи.

10. С помощью команды

dd if=/dev/hda bs=512 count=1|xxd|more

выведите на монитор содержимое первого сектора главной загрузочной записи и рассмотрите ее. После того как вы убедились в том, что видите именно Master Boot Record (MBR), скопируйте загрузочную запись в файл. Обычно подобные копии создаются на сменном носителе и предназначены для использования в случае порчи жесткого магнитного диска. Запишите в тетради команду обратного копирования (ее вводить не нужно!) и покажите преподавателю. Будьте внимательны при вводе команд, иначе вы можете сделать жесткий диск недоступным!

11. При наличии у вас собственного носителя на полупроводниковой памяти USB-Flash (кафедра не может обеспечить учебный процесс подобными устройствами) примонтируйте его к файловой системе. После подключения носителя к USB-интерфейсу запускается команда fdisk –lu. Допустим, отображается единственный раздел /dev/sda1. Он монтируется командой

mount –t vfat –o iocharset=koi8-r /dev/sda1 /mnt/usb

(кодировка символов может быть иной, а вместо каталога /mnt/usb можно указать другой пустой каталог). С помощью команды cat или файлового менеджера просмотрите файлы на примонтированном носителе.

12. Командой umount /mnt/usb отключите устройство и извлеките его. Путем просмотра файлов в каталоге /var/log найдите запись, которая зафиксировала факт подключения мобильного носителя (предположительно это файл /var/log/message).

13. С помощью команды cat /root/.bash_history просмотрите текстовый файл истории команд. Найдите в нем команды, введенные вами. Каким образом их лучше удалить? Если вы вводили команды от имени одного из зарегистрированных пользователей, то аналогичный файл истории команд вы найдете в его домашнем каталоге.

14. Вспомните, в каком порядке происходит логическое удаление файлов в файловых системах ext2fs и ext3fs.

15. Используя утилиту fillfile, по методике, изложенной в лабораторной работе № 2, создайте в рабочем каталоге пользователя пять текстовых файлов с именами от “A” до “Е” размером от 500 до 10000 байтов. Убедитесь в их создании. С помощью редактора extview посмотрите индексный дескриптор и блок данных одного из них.

16. С помощью утилиты fillfile в рабочем каталоге пользователя создайте дополнительно три файла с длинными именами (например, для того, чтобы удобнее было отслеживать файловые записи в каталоге).

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

18. Зафиксируйте в отчете номера inode и логических блоков, выделенных каждому созданному файлу. Эти данные вы будете использовать при анализе фрагментов удаленных файлов.

19. С помощью команды rm –f удалите все созданные вами файлы. Используя команду ls –l, просмотрите рабочий каталог пользователя и убедитесь, что логическое удаление файлов состоялось.

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

21. С помощью редактора extview просмотрите файловые записи в блоке данных рабочего каталога пользователя и установите, какие фрагменты удаленных файлов подлежат восстановлению. Обратите особое внимание на записи удаленных файлов с «длинными» именами. Результаты осмотра отразите в отчете.

22. С помощью команды cat прочитайте файл /etc/fstab и определите, как обозначается файл специального устройства, за которым закреплен логический раздел жесткого диска с файловой системой ext2fs.

23. Командой debugfs войдите в среду отладчика файловой системы и откройте логический раздел ext2fs для чтения (команда open device). Вместо device укажите файл специального устройства с логическим разделом Linux.

24. Вводя команду отладчика lsdel, посмотрите список inode удаленных файлов. Найдите среди них номера файлов, которые были созданы и удалены вами (в файловой системе ext3fs отладчик debugfs удаленных файлов не обнаружит).

25. Выберите один из обнаруженных индексных дескрипторов удаленных вами файлов и с помощью команды stat <inode> установите, что записано в таблице и сохранились ли в ней ссылки на блоки данных. Обратите внимание на атрибуты, указывающие на удаление файла.

26. Если файл подлежит восстановлению, установите в «1» бит соответствующего inode в битовой карте индексных дескрипторов. Делается это с помощью внутренней команды отладчика seti <inode>.

27. С помощью команды отладчика mi <inode> сбросьте время удаления файла и установите в «1» число ссылок на файл.

28. Попытайтесь восстановить символьное имя удаленного файла. Это делается с помощью команды отладчика ncheck <inode>.

29. Командой close закройте логический раздел ext2fs на жестком диске и затем, вводя quit, выйдите из среды отладчика debugfs.

30. Выведите листинг рабочего каталога пользователя и проверьте, удалось ли вам восстановить удаленный файл. Сделайте выводы и отразите их в отчете.

31. Повторите операцию восстановления для другого удаленного файла.

32. По материалам Приложения изучите возможности утилиты extview по восстановлению удаленных файлов.

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

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

 

Контрольные вопросы

1. С какого времени файл можно считать логически удаленным? Каковы признаки логического удаления файла?

2. В какой последовательности «исчезают» компоненты файла при его логическом удалении в файловых системах ext2fs и ext3fs?

3. Какие методики восстановления логически удаленных файлов вам известны? В чем они заключаются?

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

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

6. Как скопировать данные с поврежденного машинного носителя?

7. Какие требования предъявляются к гарантированному удалению конфиденциальной информации?

8. Какие программные средства гарантированного удаления данных имеются в современных операционных системах Linux?

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




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


Дата добавления: 2015-03-31; Просмотров: 1351; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.064 сек.