- Как удалить метаданные файла на Linux
- Установка MAT на Linux
- Анонимизируем метаданные с MAT-GUI
- Анонимизируем метаданные из командной строки
- Решение проблем
- Заключение
- Как я могу изменить дату изменения / создания файла?
- Как я могу изменить дату изменения / создания файла?
- 7 ответов
- Скрытность в Linux. Заметаем следы
- Узнать Временные Метки Файла
- Разница Между Временами «Доступа», «Модификации» и «Изменения»
- Изменение Времени «Доступа» и «Модификации» Файла
- Подделка Времени «Изменения» Файла
- Заметаем Следы 😉
- Очистить или Удалить Историю Входов в Linux
- Удаление Информации о Последних Подключениях
- Очистить Историю Команд в BASH
- Полностью удалить историю Bash
- Удалить определенную строку из истории Bash
- Очистить историю команд текущей сессии
- Не сохранять команду в истории Bash
- Не сохранять все команды текущей сессии в истории Bash
- Изменение Прав Доступа к Файлам и Папка в Linux — Основы Chmod
- Синтаксис
- Классы доступа
- Операторы
- Права доступа
- Числовые права доступа
- 10 Простых Примеров :
- Запуск Команд на Удаленном Linux Сервере через SSH
- Выполнение Команд на Удаленном Linux Сервере
- Узнать uptime удаленного сервера
- Перезагрузить удаленный сервер
- Запуск Нескольких Команд через SSH
- Узнать Uptime и Disk Usage
- Узнать Memory Usage и Load Average
- Показать Версию Ядра, информацию о CPU и кол-во RAM
- Выполнение Локального Скрипта на Удаленном Linux Сервере
- Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине
- 7 Советов — Настройка Истории Команд в Bash
- 1. Добавляем Отображение Даты и Времени в Bash History
- 2. Увеличиваем Размер Хранимой Истории
- 3. Добавляем Команды Bash в Файл с Историей
- 4. Мгновенно Сохранять Историю Команд
- 5. Контролируйте Bash History
- 6. Игнорировать Определенные Команды
- 7. Одна Команда — Одна Запись в Истории
- Изменить Имя Файла с Историй Команд
Как удалить метаданные файла на Linux
Обычно с каждым файлом связана определённая информация, она называется «метаданные», она описывает информацию о файле, представленных в форме набора пар величина-значение. Обычно метаданные включает имя создателя, инструмент, использованный для генерации этого файла, дату создания/изменения файла, расположение создания, историю редактирования и т. д. EXIF (изображения), RDF (веб-ресурсы), DOI (цифровые документы) — некоторые из популярных стандартов метаданных.
При том, что метаданные имеют свои достоинства в области управления данными, они могут реально негативно повлиять на вашу приватность. Данные EXIF в фотоизображениях могут раскрыть персональную идентификационную информацию, такую как модель вашей камеры, GPS координаты фотосъёмки, вашу любимую программу для фоторедактирования и т. д. Метаданные в документах и таблицах содержат информацию об авторе/принадлежности и другую историю редактирования. Не будьте параноиками, но инструменты по сборе метаданных, такой как metagoofil, часто используются во на стадии сбора информации как часть тестирования на проникновение.
Ну и помните эту шутку? «Даже если вы не параноик, это не значит, что за вами не следят».
Для тех из вас, кто хочет избавиться от любых персональных метаданных из любых данных, которые будут разделены с другими, есть способы удалить метаданные из информации о файлах. Вы можете использовать существующий редактор документов или изображений, которые обычно имеют встроенные возможности редактировать метаданные. В этом уроке позвольте мне представить отличный отдельный инструмент по очистке метаданных, которые разработан для единственной цели: анонимизировать все метаданные для вашей приватности.
MAT (Metadata Anonymisation Toolkit — инструментарий анонимизации метаданных) — это отдельный чистильщик метаданных, написанный на Python. Он был разработан под крылом проекта Tor, и поставляется в стандартном наборе на Tails, продвинутую в вопросах приватности live OS.
По сравнению с другими инструментами, таким как ExifTool, которые могут записывать только в ограниченное количество типов файлов, MAT может ликвидировать метаданные из файлов любого типа: изображения (png, jpg), документы (odt, docx, pptx, xlsx, pdf), архивы (tar, tar.bz2), аудио (mp3, ogg, flac) и т.д.
Установка MAT на Linux
На основанных на Debian системах (Ubuntu или Linux Mint), MAT идёт в стандартных пакетах, следовательно установка простая:
На Fedora MAT не поставляется как собранный пакет, следовательно вам нужно собрать его из источников. Здесь то, как я скомпилировал MAT на Fedora (с некоторым ограниченным успехом, смотрите конец урока):
Анонимизируем метаданные с MAT-GUI
После установки, MAT может быть доступен через графический интерфейс, а также в командной строке. Для запуска графической версии MAT просто печатаем:
Давайте очистим какие-нибудь документы. Сначала посмотрим на присутствующие в них метаданные.
Это текстовый документ.
Видно, что для его создания использовалась LibreOffice, которая установлена на Windows и имеет версию 4.3.5. Есть данные создания и модификации, посчитано количество изображений, таблиц, страниц, есть информация о длительности редактирования, дате последнего доступа и прочая — не мало!
А вот теперь посмотрим метаданные в файле изображения:
Там их так много, что они не уместились даже в один скриншот. Самое интересное, на мой взгляд, это GPS данные — можно точно определить, где была сделана фотография и приехать к фотографу (ко мне) в гости. Ещё есть информация о камере — это Samsung Galaxy II, информация об его прошивке, есть огромный комментарий, расшифровка которого тоже что-то даст, дата снимка, огромное количество информации о настройках камеры в момент съёмки.
Чтобы добавить файл в MAT для очистки, воспользуйтесь иконкой «Add» или просто перетащите их в окно программы. Как только файлы загружены, нажмите иконку «Check» для сканирования на наличие любой скрытой информации метаданных.
При обнаружении любых метаданных MAT’ом, «State» будет изменено на «Грязный».
Вы можете дважды кликнуть, чтобы увидеть найденные метаданные.
Для очистки метаданных из файла, кликните на иконку «Clean». MAT автоматически опустошит все частные поля метаданных из файла.
В очищенном состоянии, без каких-либо идентифицируемых следов:
Анонимизируем метаданные из командной строки
Как упомянуто ранее, другой способ вызвать MAT — это из командной строки, и для этого используйте команду mat
Для проверки любых чувствительных метаданных, во-первых, перейдите в директорию, где находятся ваши файлы, а затем запустите (обратите внимание на точку на конце — она важна). Вместо точки можно использовать *, т. е. звёздочку, но тогда очистка происходит только в текущем каталоге, без рекурсивного обхода подкаталогов):
Этим мы просканируем все файлы в текущем каталоге и в поддиректориях, и создадим отчёт по их состоянию (чистое или нечистое).
Вы можете проверить актуальные метаданные используя опцию ‘-d’:
Если вы не применяли каких-либо опций с командой mat, действие по умолчанию — это удаление метаданных из файлов. Если вы хотите сохранить бэкап оригинальных файлов во время очистки, используйте опцию ‘-b’. Следующая команда очистить все файлы и сохранит оригинальные файлы с расширением ‘*.bak».
(опять обратите внимание на точку).
Чтобы увидеть все поддерживаемые форматы файлов, запустите:
Решение проблем
В данное время я имею следующую проблему со скомпилированной версией MAT на Fedora. Когда я пробую очистить файлы архивов/документов (например, *.gz, *.odt, *.docx) на Fedora, MAT терпит неудачу со следующей ошибкой. Если вы знаете, как исправить эту проблему, дайте мне знать в комментарии.
Заключение
MAT — это простой, но крайне полезный инструмент для предотвращения любых небрежных утечек в приватности из метаданных. Помните, вы ответственны за анонимизацию содержимого файла, если в этом есть необходимость. Всё, что MAT делает, это ликвидируют метаданные, связанные с вашими файлами, но ничего не делает с самими файлами. Короче говоря, MAT можно быть спасателем, так как может управляться с удалением большинства метаданных, но вам не следует полагаться только на неё, чтобы гарантировать вашу конфиденциальность.
Источник
Как я могу изменить дату изменения / создания файла?
Есть ли способ изменить дату, когда файл был изменен / создан (который отображается в Nautilus или с помощью команды ls -l)? В идеале я ищу команду, которая может изменить метки даты / времени целой пачки файлов на определенное количество времени раньше или позже (например, +8 часов или -4 дня и т. Д.).
Пока вы являетесь владельцем файла (или root), вы можете изменить время модификации файла, используя touch команду:
По умолчанию это установит время модификации файла на текущее время, но есть несколько флагов, например, -d флаг для выбора конкретной даты. Так, например, чтобы установить файл как изменяемый за два часа до настоящего, вы можете использовать следующее:
Если вместо этого вы хотите изменить файл относительно его существующего времени модификации, то следует сделать следующее:
Если вы хотите изменить большое количество файлов, вы можете использовать следующее:
Вы можете изменить аргументы на, find чтобы выбрать только те файлы, которые вас интересуют. Если вы хотите обновить только время модификации файла относительно текущего времени, вы можете упростить это до:
Эта форма невозможна для относительной версии времени файла, потому что она использует оболочку для формирования аргументов touch .
Что касается времени создания, большинство файловых систем Linux не отслеживают это значение. Существует ctime связь с файлами, но она отслеживает время последнего изменения метаданных файла. Если права доступа к файлу никогда не меняются, может случиться так, что он задержит время создания, но это совпадение. Явное изменение времени изменения файла считается изменением метаданных, поэтому также имеет побочный эффект обновления ctime .
Источник
Как я могу изменить дату изменения / создания файла?
Вы можете использовать Conky, это легкий системный монитор и настраиваемый. Вы можете выбрать из широкого списка параметров для отображения не только сетевых данных, но и памяти, процессора и т. Д. Однако информация отображается на вашем рабочем столе, поэтому я не совсем уверен, что она соответствует вашим потребностям.
Посмотрите на Conky — легкий системный монитор для Ubuntu Linux Systems, у него есть несколько скриншотов и указаний по его установке на Ubuntu (через репозитории). Конфигурация проста, но создается через текстовые файлы, поэтому вы должны быть готовы запустить свой любимый редактор.
7 ответов
Пока вы являетесь владельцем файла (или root), вы можете изменить время модификации файла с помощью команды touch :
По умолчанию это установит файл время модификации к текущему времени, но есть несколько флагов, таких как флаг -d для выбора конкретной даты. Так, например, чтобы установить файл как изменяемый за два часа до настоящего, вы можете использовать следующее:
Если вы хотите изменить файл относительно его существующего времени изменения, следующее должно сделайте трюк:
Если вы хотите изменить большое количество файлов, вы можете использовать следующее:
Вы можете изменить аргументы на find , чтобы выбрать только те файлы, которые вас интересуют. Если вы хотите обновить только время модификации файла относительно текущего времени, вы можете упростить это до:
Эта форма невозможна с относительным временем файла версия, потому что она использует оболочку для формирования аргументов touch .
Что касается времени создания, большинство файловых систем Linux не отслеживают это значение. С файлами связан ctime , но он отслеживает время последнего изменения метаданных файла. Если права доступа к файлу никогда не меняются, может случиться так, что он задержит время создания, но это совпадение. Явное изменение времени модификации файла считается изменением метаданных, поэтому также будет иметь побочный эффект обновления ctime .
Источник
Скрытность в Linux. Заметаем следы
Файлы в Linux имеют 3 типа временных меток: время доступа (англ. access time, сокр. atime), время модификации (англ. modification time, сокр. mtime) и время изменения (англ. change time, сокр. ctime).
Однажды может возникнуть необходимость подделать временные меткикакого-либо файла.
Время доступа (atime), как и время модификации (mtime) могут быть легко изменены с помощью команды touch, но для подделки метки времени изменения (ctime) стандартного решения не существует.
Тем не менее, в качестве обходного пути, можно установить системное время в то значение на которое вы хотите изменить ctime файла, затем использовать команду touch на этом файле и потом откатить системное время обратно.
Из приведенной ниже статьи вы узнаете, как сохраняя анонимность изменять временные метки файла.
Узнать Временные Метки Файла
Чтобы получить информацию о текущий временных метках файла воспользуетесь командой stat :
Разница Между Временами «Доступа», «Модификации» и «Изменения»
Временная метка | Когда она обновляется? |
---|---|
atime | Время доступа к файлу обновляется когда вы открываете файл либо когда он используется для других операций, например таких как: grep, cat, head и т.д. |
mtime | Время модификации файла обновляется когда вы изменяете его содержимое либо сохраняете файл. |
ctime | Время изменения файла обновляется когда меняются его атрибуты, такие как владелец файла, права, либо он перемещается на другую файловую систему. Также это время обновляется и при изменения времени модификации файла. |
Изменение Времени «Доступа» и «Модификации» Файла
Изменить время доступа к файлу (atime) :
Изменить время модификации файла (ctime) :
Подделка Времени «Изменения» Файла
Как я уже говори ранее, не существует стандартного решения для подделки времени изменения файла (ctime).
Тем не менее, это можно сделать если сначала поменять системное время на то, на которое вы хотите поменять ctime, затем использовать команду touch на файле и потом откатить системное время обратно.
Изменение системного времени может привести к неожиданным последствиям. Используйте приведенные ниже команды только на свой страх и риск.
Сохраните текущую дату и время в переменную NOW :
Установите поддельное системное время (необходим root) :
Используйте команду touch на файле для изменения всех временных меток на поддельные :
Откатите время назад (необходим root) :
Для увеличения скорости выполнения модификаций и как следствие уменьшения риска возможных последствий, вы можете выполнит приведенные выше команды следующим образом :
Заметаем Следы 😉
Чтобы замести следы не забудьте очистить значение переменной, а также почистить логи и историю.
Очистите значение переменной NOW :
Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root) :
Очистите историю входов в Linux (необходим root) :
Очистите историю текущей сессии :
Очистить или Удалить Историю Входов в Linux
В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях : last, lastb, и lastlog.
Вывод этих команд включает : логин, время последнего подключения, IP адрес, порт и т.д.
И иногда, чтобы сохранить анонимность, возникает необходимость очистить историю последних подключений.
Команда | Журнал логов | Описание |
---|---|---|
last | /var/log/wtmp | История успешных входов/выходов |
lastb | /var/log/btmp | История неудавшихся попыток входа |
lastlog | /var/log/lastlog | Список последних подключавшихся пользователей |
Удаление Информации о Последних Подключениях
Для удаления всей информации о последних подключавшихся пользователях необходимо очистить журналы с логами :
Очистить Историю Команд в BASH
Полностью удалить историю Bash
Выполните следующую команду для полного удаления всей истории Bash :
Опции | Описание |
---|---|
-c | Очистить файл истории |
-w | Внести команды текущей сессии в файл с историей |
Удалить определенную строку из истории Bash
Опция | Описание |
---|---|
-d | Удалить строку с указанным номером из истории |
Очистить историю команд текущей сессии
Выполните для удаления истории команд только текущей сессии :
Опция | Описание |
---|---|
-r | Прочитать файл с текущие историей и добавить его содержимое к списку истории команд |
Не сохранять команду в истории Bash
Выполнить команду не занося ее в историю Bash :
$ команда
Поставьте пробел перед любой командой и она не будет сохранена в истории Bash.
Не сохранять все команды текущей сессии в истории Bash
Отключение HISTFILE приводит к тому, что пока Вы не выйдите из текущей сессии, любые команды которые Вы будете выполнять не будут сохраняться в файле с историей bash_history :
Изменение Прав Доступа к Файлам и Папка в Linux — Основы Chmod
Команда сhmod (change mode) служит для изменения прав доступа к файлам и папкам.
Синтаксис
Команды chmod имеет следующий синтаксис :
- -R, —recursive; изменять файлы и директории рекурсивно
- -f, —silent, —quiet; не выводить сообщения об ошибках
Показать текущие права на файл / директорию можно с помощью команды ls :
или используя команду stat :
Классы доступа
Классы доступа используются для того, чтобы определить какому пользователю назначаются права. Если класс доступа не указан, то по умолчанию используется класс “all”. Классы доступа представлены одной или несколькими из ниже перечисленных букв :
Класс | Class | Описание |
---|---|---|
u | user | владелец файла (папки) |
g | group | пользователи, которые являются членами группы к которой принадлежит файл (папка) |
o | others | пользователи, которые не являются ни владельцем файла (папки), ни входят в группу файла (папки) |
a | all | все три перечисленных выше класса, то же самое что ugo |
Операторы
Программа chmod использует оператор для того, чтобы указать каким образом будут применены права доступа к файлам или папкам. Приняты следующие операторы :
Оператор | Описание |
---|---|
+ | добавить указанные права доступа к указанному классу |
— | убрать указанные права доступа из указанного класса |
= | присвоить указанные права доступа |
Права доступа
Права доступа указывают какие полномочия следует предоставить или забрать у указанного класса. Существуют три основных вида прав доступа, которые соответствуют базовым полномочиям :
Права доступа | Name | Описание |
---|---|---|
r | read | права на чтение содержимого файла или директорию (просматривать файлы и поддиректории в папке) |
w | write | права на запись в файл или директорию (создавать файлы и поддиректории в папке) |
x | execute | права на исполнение файла в качестве программы/скрипта либо права на вход в директорию (просмотр дерева каталога) |
X | special execute | права на вход в директорию и права на исполнение файла, в случае, если хотя бы одному классу уже назначено право на исполнение (для любого из user, group или other) |
[X] сам по себе не является правом доступа, но тем не менее, может использоваться вместо x. Он на самом деле полезен только в случае использования оператора ‘+’ в сочетании с опцией -R, для того чтобы предоставить группе или остальным пользователям права доступа к дереву каталога, не давая прав на исполнение обычных файлов (например текстовых), что случится при применении команды ‘chmod -R a+rx’. Таким образом вместо нее можно использовать ‘X’, и соответственно выполнить ‘chmod -R a+rX’.
Числовые права доступа
Возможно использование прав доступа как в символьной, так и в числовой форме.
Числовая форма для прав доступа :
- Первая цифра используется для обозначения user (пользователь)
- Вторая цифра используется для обозначения group (группа)
- Третья цифра используется для обозначения others (остальные)
# | Права | Описание |
---|---|---|
7 | rwx | чтение, запись, исполнение |
6 | rw- | чтение, запись |
5 | r-x | чтение, запись |
4 | r— | чтение |
3 | -wx | запись, исполнение |
2 | -w- | запись |
1 | —x | исполнение |
0 | — | нет прав |
10 Простых Примеров :
1. Добавить всем права на чтение файла :
2. Забрать права на исполнение файла у всех :
3. Добавить всем права на чтение и запись :
4. Установить права на чтение и запись для владельца и забрать права у всех остальных :
5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :
6. Забрать у всех все права :
7. Дать всем права на права на чтение, запись и выполнение файла :
8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :
9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :
10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий :
Запуск Команд на Удаленном Linux Сервере через SSH
В этой заметке Вы найдете различные примеры того, как выполнять команды на удаленном Linux сервере и получать результат локально.
Данная информация будет очень полезна, если Вы пишете Bash скрипт, который будет запускаться с локальной машины и выполнять какие-либо команды на удаленном сервере.
- выполнить команду на удаленном Linux сервере;
- запустить множество команд через SSH;
- выполнить локальный скрипт на удаленном Linux сервере без его копирования.
Выполнение Команд на Удаленном Linux Сервере
Узнать uptime удаленного сервера
Перезагрузить удаленный сервер
Запуск Нескольких Команд через SSH
СПОСОБ 1 :
Узнать Uptime и Disk Usage
СПОСОБ 2 :
Узнать Memory Usage и Load Average
СПОСОБ 3 :
Показать Версию Ядра, информацию о CPU и кол-во RAM
Выполнение Локального Скрипта на Удаленном Linux Сервере
Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине
7 Советов — Настройка Истории Команд в Bash
Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл
Чтобы изменения в
/.bashrc вступили в силу, выполните :
1. Добавляем Отображение Даты и Времени в Bash History
Иногда очень полезно узнать время, когда какая-либо команда была выполнена.
Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.
Для этого добавьте следующую строку в файл
Теперь, набрав history, Вы получите следующий вывод :
2. Увеличиваем Размер Хранимой Истории
Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).
Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).
3. Добавляем Команды Bash в Файл с Историей
Bash перезаписывает файл .bash_history?
Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в
4. Мгновенно Сохранять Историю Команд
По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.
Если сессия внезапно оборвется Вы потеряете текущую историю команд.
Используйте переменную $PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения :
Добавьте следующую строку в файл
/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее :
Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана :
5. Контролируйте Bash History
HISTCONTROL — представляет из себя список опций, разделенных двоеточиями.
Они контролируют каким образом список команд сохраняется в истории.
Опция | Описание |
---|---|
ignorespace | не сохранять строки начинающиеся с символа |
ignoredups | не сохранять строки, совпадающие с последней выполненной командой |
ignoreboth | использовать обе опции ‘ignorespace’ и ‘ignoredups’ |
erasedups | удалять ВСЕ дубликаты команд с истории |
6. Игнорировать Определенные Команды
HISTIGNORE — список шаблонов через двоеточие, используемых для принятия решения о сохранении строк с командами в списке истории.
Не сохранять команды ls, ps и history :
Не сохранять команды начинающиеся с s :
7. Одна Команда — Одна Запись в Истории
Сохранять все строки многострочной команды в одной записи списка истории :
Изменить Имя Файла с Историй Команд
Используйте HISTFILE для изменения имени файла, в котором сохраняется история команд. Стандартное значение
Источник