- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- Описание mat
- Метаданные
- Поддерживаемые в настоящее время форматы
- MAT не является окончательным решением!
- Справка по mat
- Руководство по mat
- Примеры запуска mat
- Установка mat
- Что такое метаданные и как это помогает в процессе «fsck»?
- Что такое inode в Linux?
- Иноды и метаданные
- Как получить информацию об инодах в Linux?
- Как работает инод?
- Иноды и ссылки
- Польза от инодов
- Заключение
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
Описание mat
MAT — это набор инструментов анализа/удаления метаданных, включает приложение с графическим пользовательским интерфейсом, приложение командной строки и библиотеку.
Метаданные
Что такое метаданные?
Метаданные состоят из информации, которая описывает данные (например, документы Word, картинки, музыкальные файлы и т. д.). По существу, метаданные отвечают на вопросы кто, что, когда, где, почему и как о каждом аспекте данных, которые они характеризуют.
Почему метаданные могут нести риск для анонимности?
Метаданные внутри файла могут много рассказать о вас. Камеры записывают данные о том, когда и где была снята фотография, какая камера использовалась. Офисные документы вроде pdf или Office автоматически добавляют информацию об авторе и компании в документы и таблицы. Вполне возможно, что вы не хотите раскрывать эту информацию в сети.
Поддерживаемые в настоящее время форматы
Сейчас MAT полностью поддерживает следующие форматы:
- Portable Network Graphics (.png)
- JPEG (.jpg, .jpeg, …)
- TIFF (.tif, tiff, …)
- Open Documents (.odt, .odx, .ods, …)
- Office OpenXml (.docx, .pptx, .xlsx, …)
- Portable Document Fileformat (.pdf)
- Tape ARchives (.tar, .tar.bz2, …)
- MPEG AUdio (.mp3, .mp2, .mp1, …)
- Ogg Vorbis (.ogg, …)
- Free Lossless Audio Codec (.flac)
- Torrent (.torrent)
MAT не является окончательным решением!
Mat только удаляет стандартные матеданные из ваших файлов и НЕ:
- анонимизирует их содержимое
- работает с водяными знаками
- работает со стеганографией
- работает с любыми нестандартными полями/системами метаданных
Автор: Julien (jvoisin) Voisi
Справка по mat
Руководство по mat
Страница man присутствует, но практически идентична справке.
Примеры запуска mat
Показать опасные метаданные mydocument.pdf
Проверить все изображения в текущей директории
Запустить графический интерфейс
Пример полученных данных:
Установка mat
Установка в Kali Linux, Debian, Linux Mint, Ubuntu
Установка в BlackArch
Информация об установке в другие операционные системы будет добавлена позже.
Источник
Что такое метаданные и как это помогает в процессе «fsck»?
Если я правильно понимаю, «fsck» используется в системах UNIX для проверки внутренней согласованности в дисках после сбоя. Тогда мне было интересно, как он использует «метаданные», чтобы убедиться, что все в файловой системе согласовано, например, какие шаги должен предпринять процесс fsck для восстановления и ремонта?
-> edit: было бы также полезно, если бы кто-то мог прояснить, что означает «синхронная запись» на этой картинке.
Метаданные – это информация о данных. Если вы думаете о текстовом файле, последовательность букв, которые текстовый файл является фактическими данными, содержащимися в файле. Однако файл имеет имя, владелец, дату создания, местоположение на носителе данных и т. Д. Вся эта информация является метаданными. Обратите внимание, что метаданные можно обрабатывать так же, как и данные. Например, Unix хранит метаданные файлов в файлах данных, называемых каталогами (или папками в этом новом возрасте вычислений 🙂
Файловая система Unix использует базовую единицу хранения, называемую inodes . Индивидуальный индекс может содержать либо фактические данные файла, информацию каталога (метаданные), либо не использоваться (бесплатно). Обратите внимание, что действие создания нового файла включает в себя изменение состояния inode от свободного до выделенного, запись данных в новый файл и запись метаданных в файл каталога. Возможно, компьютер аварийно завершает работу в середине этого типа операции, и в этом случае файловая система может быть повреждена .
Проверка файловой системы состоит в чтении всех инодов и попытке решить как можно больше проблем с коррупцией. Например, предположим, что inode не входит в список бесплатных inodes, но нет записей в каталоге, которые говорят, что этот inode является частью файла в любом из каталогов, о которых знает файловая система. Этот индекс можно поместить обратно в список свободных инодов.
Синхронный write-thru – способ записи на диск таким образом, который гарантирует, что если произойдет сбой, файловая система может быть восстановлена. Например, когда вы создаете новый файл, вам нужно выделить inode, создать индексный дескриптор с его набором метаданных, а затем обновить файл, содержащий информацию о каталоге. С синхронной write-thru они выполняются как отдельные действия, по одному за раз в этом порядке. Если авария происходит до того, как каталог будет записан, то индексный дескриптор может быть помещен обратно в свободный список, и создание файла не произошло.
Возможны и другие типы проверки файловой системы.
В контексте файловых систем Unix или Linux «метаданные» – это информация о файле: идентификатор пользователя, который владеет им, разрешения, тип файла (специальный, обычный, именованный канал и т. Д.) И который блокирует использование файла. Все это обычно хранится в структуре на диске, называемой «inode». Одна из частей информации в индексном дескрипторе – сколько «ссылок» на файл существует. Обычный файл обычно имеет 1, но каталог (который в основном представляет собой файл со специальным знаком типа «Я – каталог») имеет как минимум 2 ссылки. Все, что видимо в файловой системе, имеет одну ссылку из каталога, в котором она появляется, но так как в каждом каталоге есть «.» имя, а также его обычное имя, у них есть 2 ссылки.
fsck может сканировать «блоки inode» файловой системы (блоки диска, содержащие структуры данных inode), чтобы найти inodes, у которых число ссылок больше 0. Файл, представленный inode с номером ссылки больше 0, должен появиться в где-то в каталоге. Если этот индекс не появляется в каталоге, fsck помещает файл в хорошо известный каталог, обычно «lost + found» в верхней части файловой системы. Обратите внимание, что файловые системы Unix / Linux обычно не имеют метаданных в inode, в какой каталог принадлежит индекс, только информация в файле каталога о файлах, которые содержит каталог.
fsck может использовать другие метаданные, например, какие блоки диска содержат данные файла. fsck может проверить, отображаются ли в блоке «нераспределенный список» файловых систем блоки диска, которые записаны в файле inode, принадлежат к файлу. Потенциально fsck может проверить, содержат ли два или более индексных дескриптора один и тот же блок-диск, что указывает на некоторое разновидность распределения.
Выделение дисковых блоков в файлы появляется в inode на диске. В каталогах отображается древовидная структура членства в файловой системе. Индеды не отображаются и не привязаны к каталогам. fsck использует это разделение для ремонта. Это сильно отличается от таких систем, как MS-DOS или ранняя Windows, где «таблица размещения файлов» содержит как древовидную структуру (принадлежность к каталогу), так и распределение дискового блока. Коррумпируйте «FAT», и вам нужно будет отсканировать блоки диска, чтобы посмотреть, что они содержат, и как они могут сочетаться.
Метаданные – это «Данные о данных».
В случае файловой системы * nix метаданные, используемые fsck из заголовка в каждом блоке данных, указывают на запись каталога или следующий блок данных и соответствующие записи в каталоге. fsck сканирует блоки и проверяет правильность совпадений в каталоге и указатели на следующий блок.
Это существенно различается между файловыми системами. Фактически, какие метаданные хранятся и где они хранятся, это то, что наиболее различает различные файловые системы * nix. Более современные также сохраняют файл журнала изменений в структурах каталогов.
Источник
Что такое inode в Linux?
Обновл. 31 Авг 2021 |
Ваша система когда-нибудь жаловалась на то, что у вас не осталось свободного места, в то время как его было явно более чем достаточно?
Иноды и метаданные
Файловая система должна хранить файлы, которые могут находиться в каталогах, которые, в свою очередь, могут иметь подкаталоги. При этом что-то где-то должно записывать информацию о расположении всех файлов файловой системы, имена файлов, их размер, к каким учетным записям они принадлежат, какие у них разрешения и т.д. Данная информация называется метаданными — данные, которые описывают другие данные. Метаданные хранятся в иноде файла.
Инод (или «индексный дескриптор», «inode», от англ. «index node») — это структура данных, в которой хранятся метаданные о стандартных файлах, каталогах или других объектах файловой системы. Каждый используемый инод ссылается на 1 файл. Каждый файл имеет 1 инод. Каталоги, символьные и блочные устройства — всё это является файлами, а значит у каждого из них есть по 1 иноду.
Информация об инодах хранится в специальной таблице, расположенной, обычно, в начале каждого раздела диска. Каждый раздел имеет свою, отдельную таблицу инодов.
Для каждого файла в каталоге есть запись, содержащая имя файла и связанный с ним номер инода. Вся остальная информация о файле извлекается из таблицы инодов с помощью номера инода файла.
Иноды уникальны только в границах разделов своих файловых систем. Если у вас есть два файла, которые находятся на разных разделах диска, то у них могут быть одинаковые номера инодов.
Если у вас закончатся иноды, то вы больше не сможете создавать новые файлы, даже если у вас осталось место в разделе диска.
Как получить информацию об инодах в Linux?
Вы можете легко вывести список номеров инодов с помощью следующей команды:
На следующем скриншоте показан мой корневой каталог с соответствующими номерами инодов:
Количество инодов в каждой файловой системе задается на этапе её создания, и, как правило, для большинства пользователей их количества более чем достаточно.
По умолчанию параметры файловой системы таковы, что создается 1 инод на 2 КБ пространства диска. Такого количества инодов достаточно для большинства систем. Скорее место на вашем жестком диске исчерпается раньше, чем закончатся все иноды. При необходимости, во время определения первоначальных параметров файловой системы, вы можете указать, сколько инодов требуется создать.
Если у вас всё-таки закончатся иноды, то ни вы, ни ваша система больше не сможете создавать новые файлы. Это довольно редкая ситуация, но все же она может возникнуть. Например, в старые времена некоторые почтовые серверы, которые хранили сообщения электронной почты в виде отдельных файлов (что быстро приводило к созданию больших коллекций маленьких файлов размером менее 2 килобайт), довольно часто сталкивались с данной проблемой. Однако, когда они перешли на использование баз данных, проблема решилась.
В некоторых файловых системах, таких как Btrfs, JFS, XFS, реализованы динамические иноды. При необходимости такие файловые системы могут увеличить количество доступных инодов.
Как работает инод?
При создании нового файла ему назначается номер инода и имя файла. Номер инода — это уникальный номер файла в файловой системе. И имя, и номер инода хранятся в виде записи в каталоге.
Когда я запустил команду ls –li / , то тем самым отобразил имена файлов корневого каталога и номера их инодов. Оставшаяся информация о владельце файла, принадлежности к группе, разрешениях на доступ, размере и т.д. была получена из таблицы инодов при помощи номера инода.
Вы можете перечислить информацию об инодах для каждой файловой системы с помощью следующей команды:
Иноды и ссылки
Символьные ссылки являются хорошо известной особенностью Linux. Но что происходит с инодами, когда мы создаем символьную ссылку? На следующем скриншоте у меня есть файл с именем file1, каталог под названием dir1, внутри которого расположилась символьная ссылка под названием slink1, которая указывает на ../file1 :
Теперь сравним их номера инодов:
Как и ожидалось, dir1 и file1 имеют разные номера инодов. Но то же самое относится и к символьной ссылке. Когда вы определяете символьную ссылку, то тем самым создаете новый файл. В своих метаданных он указывает на целевой объект. Для каждой создаваемой вами символьной ссылки вы используете новый инод.
Теперь давайте создадим жесткую ссылку и посмотрим, что произойдет с инодами:
ln ../file1 hlink1
Выводим список номеров инодов:
Вы можете видеть, что file1 и hlink1 имеют одинаковый номер инода. Жесткая ссылка не создает новый файл, она лишь предоставляет новое имя для тех же данных. Такое возможно благодаря введению механизма инодов.
Примечание: В более старых версиях Linux можно было создать жесткую ссылку на каталог. Было даже возможно сделать так, чтобы каталог стал родительским самому себе. Но теперь установлены некоторые ограничения, чтобы пользователи не создавали очень запутанную структуру каталогов.
Польза от инодов
Принцип работы инодов также объясняет, почему невозможно создать жесткую ссылку из одной файловой системы в другую. Разрешение такой задачи открыло бы возможность наличия конфликтующих номеров инодов. В то же время, символьная ссылка может быть создана в разных файловых системах.
Поскольку жесткая ссылка имеет тот же номер инода, что и исходный файл, то вы можете удалить исходный файл, и данные по-прежнему будут доступны по жесткой ссылке. Всё, что вы сделали в этом случае, — это удалили одно из имен, указывающих на заданный номер инода. Данные, связанные с этим инодом, будут оставаться доступными до тех пор, пока все имена, связанные с ним, не будут удалены.
Иноды также являются важной причиной, по которой Linux-системы могут обновляться без необходимости перезагрузки: один процесс может использовать библиотечный файл, в то время как другой процесс заменяет этот файл новой версией. Уже запущенный процесс будет продолжать использовать старый файл, в то время как каждый новый вызов к нему приведет к использованию новой версии.
Еще одна интересная функция, которая поставляется с инодами, — это возможность хранить данные в самом иноде. Это называется встраиванием (англ. «inlining»). Этот метод хранения имеет преимущество в экономии места, поскольку не требует использования блоков данных, но при этом также увеличивает время поиска, избегая дополнительного доступа к диску для получения данных.
В некоторых файловых системах, таких как ext4, есть опция под названием inline_data, которая позволяет операционной системе хранить данные вышеописанным способом. Из-за ограничения размера встраивание работает только для очень маленьких файлов.
Заключение
Иноды — это не то, с чем вы взаимодействуете напрямую, но они играют важную роль в работе операционной системы. Если раздел должен содержать очень много маленьких файлов, то знание и понимание того, что такое иноды и как они работают, может избавить вас от многих проблем в будущем.
Источник