- Как обрезать файлы до нулевого размера в Linux
- How to Truncate (Empty) Files in Linux
- В этом руководстве объясняется, как обрезать файлы до нулевого размера в системах Linux с помощью перенаправления оболочки и truncate команды.
- Shell Redirection
- truncate команда
- Очистить все файлы журнала
- Вывод
- Безвозвратное уничтожение информации на Linux
- Nwipe — безопасное удаление с дисков
- Secure-Delete — инструменты для стирания файлов, освобождения дискового пространства, swap’а и памяти
- One thought to “Безвозвратное уничтожение информации на Linux”
- Команда cat в Linux
- Синтаксис команды Cat
- Отображение содержимого файла
- Перенаправить содержимое файла
- Печатать номера строк
- Подавить повторяющиеся пустые строки
- Отображение символов TAB
- Показать конец строк
- Объединение файлов
- Создание файлов
- Выводы
- Shred и безвозвратное удаление файлов
Как обрезать файлы до нулевого размера в Linux
How to Truncate (Empty) Files in Linux
В этом руководстве объясняется, как обрезать файлы до нулевого размера в системах Linux с помощью перенаправления оболочки и truncate команды.
В некоторых ситуациях может потребоваться усечь (очистить) существующий файл до нулевой длины. Проще говоря, усечение файла означает удаление содержимого файла без удаления файла.
Усечение файла происходит намного быстрее и проще, чем удаление файла , его воссоздание и установка правильных прав доступа и владельца . Кроме того, если файл открывается процессом, удаление файла может привести к сбою в работе программы, которая его использует.
Shell Redirection
Самый простой и наиболее используемый метод для усечения файлов — это использование > — оператора перенаправления оболочки.
Общий формат для усечения файлов с использованием перенаправления:
- В : средстве толстой кишки true и не производит никакого вывода.
- Оператор > перенаправления перенаправляет вывод предыдущей команды в указанный файл.
- filename , файл, который вы хотите усечь.
Если файл существует , он будет обрезан до нуля. В противном случае файл будет создан.
Вместо : можно также использовать другую команду, которая не выдает никаких результатов.
Вот пример использования cat команды для вывода содержимого /dev/null устройства, которое возвращает только символ конца файла:
Еще одна команда, которая может быть использована echo . -n Опция говорит echo не для добавления новой строки:
В большинстве современных оболочек, таких как Bash или Zsh, вы можете опустить команду перед символом перенаправления и использовать:
Чтобы иметь возможность обрезать файл, вам необходимо иметь права на запись в файл. Обычно вы бы использовали sudo для этого, но привилегии суперпользователя не применяются к перенаправлению. Вот пример:
Есть несколько решений, которые позволяют перенаправлять с sudo . Первый вариант может запустить новую оболочку с помощью sudo и выполнить команду внутри этой оболочки, используя -c флаг:
Другой вариант — передать вывод в tee команду, повысить tee привилегии sudo и записать пустой вывод в заданный файл:
truncate команда
truncate утилита командной строки, которая позволяет уменьшить или расширить размер файла до заданного размера.
Общий синтаксис для усечения файлов до нулевого размера с помощью truncate команды, выглядит следующим образом:
Например, чтобы очистить журнал доступа Nginx, вы должны использовать:
Очистить все файлы журнала
Со временем ваш диск может загромождаться большим количеством больших файлов журнала, занимающих много места на диске.
Следующая команда очистит файлы, заканчивающиеся на «.log» в /var/log каталоге:
Лучшим вариантом будет вращение, сжатие и удаление файлов журналов с помощью logrotate инструмента.
Вывод
Чтобы обрезать файл в Linux, используйте оператор перенаправления, > за которым следует имя файла.
Источник
Безвозвратное уничтожение информации на Linux
Часто бывает так, что необходимо безвозвратно уничтожить некую информацию с носителя. Ни для кого не секрет, что файлы, удалённые из корзины, не удаляются с жёсткого диска.
Один из стандартных методов восстановления данных, перезаписываемых на жесткий диск, состоит в захвате и обработке аналогового сигнала, получаемого из привода головок чтения/записи, прежде, чем этот сигнал будет оцифрован. Этот аналоговый сигнал близок к цифровому, но различия раскрывают важную информацию. Рассчитав цифровой сигнал, а затем вычтя его из фактического аналогового, можно усилить сигнал, оставшийся после вычитания, и использовать его, чтобы определить, что ранее было написано на диске.
Даже при неоднократной перезаписи диска со случайными данными теоретически возможно восстановить предыдущий сигнал. Диэлектрическая проницаемость среды изменяется с частотой магнитного поля. Это означает, что низкая частота поля проникает глубже в магнитный материал на диске, чем высокая частота оного. Так низкочастотный сигнал теоретически может быть определен даже после того, как перезапись производилась сотни раз на высокой частоте сигнала. Википедия.
Отсюда возникает потребность в уничтожении остаточной информации, дабы она не попала не в те руки.
Остаточная информация — информация на запоминающем устройстве, оставшаяся от формально удалённых операционной системой данных. Информация может остаться из-за формального удаления файла или из-за физических свойств запоминающих устройств. Остаточная информация может привести к непреднамеренному распространению конфиденциальной информации, если хранилище данных окажется вне зоны контроля (например, будет выброшено с мусором или передано третьей стороне). Википедия.
Рассмотрим несколько программ, целью которых является полное безвозвратное уничтожение данных на Linux.
Nwipe — безопасное удаление с дисков
Nwipe — утилита для безопасного удаления данных с дисков, использующая несколько общепризнанных методов. Она является ответвлением от dwipe, используемой в Darik’s Boot and Nuke (DBAN).
Связанные с программой сайты:
—autonuke — если не были указаны устройства в командной строке, начинает немедленно стирать все устройства. Если устройства были заданы, то немедленно начинает стирать только эти специфичные устройства.
-m, —method=METHOD — метод стирания.
Secure-Delete — инструменты для стирания файлов, освобождения дискового пространства, swap’а и памяти
Очень полезный в быту параноика набор консольных утилит. Предназначен для безвозвратного удаления данных и удаления остаточной информации. В своей работе использует Метод Гутмана.
В своём составе имеет набор из четырёх консольных утилит:
Найти программу можно в репозиториях своей Linux-системы. Страница проекта на GitHub: github.com/paolostivanin/Secure-Delete
Начнём с первой, и самой полезной утилиты — Srm. Удаляет файлы и каталоги с жёсткого диска.
Srm выполняет безопасную перезапись/переименование/удаление целевого файла (ов). По умолчанию включён безопасный режим (38 записей).
Sfill. Аналогична предыдущей, только обрабатывает свободное место на диске, зачищая следы данных.
sfill выполняет безопасную перезапись свободного места, занимаемого директорией, и всех свободных инодов заданной директории. По умолчанию безопасный режим (38 записей).
Sswap. То же самое, но зачищает раздел подкачки /swap, если он присутствует в системе. Перед использованием необходимо отключить swap.
sswap выполняет безопасное стирание области swap. По умолчанию безопасный режим (38 записей).
ВНИМАНИЕ: Нужно отключить swap перед использованием этой программы!
И последняя утилита — sdmem. Уничтожает следы данных в оперативной памяти.
smem выполняет безопасную перезапись оперативной памяти (RAM), поскольку содержимое памяти может быть восстановлено даже после отключения! По умолчанию безопасный режим (38 записей).
Пояснение по ключам:
- -r — обрабатывать все вложенные подкаталоги. Данный ключ необходим, если удаляемый файл является каталогом, пусть даже пустым. Если удаляемый файл не является каталогом, то ключ -r не влияет на команду srm.
- -v — подробный режим. По умолчанию в терминал не выводятся результаты работы программы. Этот ключ позволяет их просмотреть.
- -f — вместо /dev/random (ГСЧ) использует /dev/urandom (ГПСЧ) Суть отличия ниже. Если вкратце, то при использовании /dev/urandom повышается скорость перезаписи, но при этом числа не случайны. Поэтому использование ключа не рекомендуется.
/dev/random и /dev/urandom — специальные символьные псевдоустройства в некоторых UNIX-подобных системах, впервые появившиеся в ядре Linux версии 1.3.30. Они предоставляют интерфейс к системному генератору случайных чисел, который выводит шумы из драйверов устройств и других источников в «хаотичный» пул (англ. entropy pool). Генератор также сохраняет необходимое количество битов шума в этом пуле и формирует из него случайные числа.
При чтении данных в устройстве /dev/random создаются только случайные байты, состоящие из битов шума «хаотичного» пула. Устройство /dev/random может быть необходимо пользователям, которые требуют очень высокого коэффициента случайности, например, при создании ключа доступа и т. п. Если «хаотичный» пул опустел, чтение /dev/random блокируется, пока необходимое количество битов в пуле не будет создано.
Чтение данных устройства /dev/urandom возвратит столько байтов, сколько было запрошено. В результате, если в пуле было недостаточно битов, теоретически возможно будет найти уязвимость алгоритма, использующего это устройство. Если это важно, следует использовать /dev/random. Википедия.
- -l — вместо 38 циклов перезаписи проходит только первых два: затирание нулями и запись случайными числами. Крайне небезопасно, но сильно ускоряет работу программы. Если используете этот ключ, то после желательно ещё раз затереть свободное место на диске.
One thought to “Безвозвратное уничтожение информации на Linux”
Если у вас есть информация которая при попадании в чужие руки может принести массу проблем, то просто держите её в криптоконтейнере. Так же шифруем полностью весь Linux, а если HDD необходимо будет продать, подключаем носитель к другому ПК или грузимся с LiveCD и шифруем весь носитель. Считаю такой метод более надёжен, нежели перезапись в несколько подходов, но опять же, всё зависит от важности информации. И последнее, все перечисленные способы в статье актуальны только для HDD, SSD лучше шифровать изначально.
Источник
Команда cat в Linux
Команда cat — одна из наиболее широко используемых команд в Linux. Имя cat команды происходит от его функциональности против кошачьих файлов Enate. Он может читать и объединять файлы, записывая их содержимое в стандартный вывод. Если файл не указан или если имя входного файла указано в виде одного дефиса ( — ), он считывается из стандартного ввода.
Cat чаще всего используется для отображения содержимого одного или нескольких текстовых файлов, объединения файлов путем добавления содержимого одного файла в конец другого файла и создания новых файлов.
В этом руководстве мы покажем вам, как использовать команду cat на практических примерах.
Синтаксис команды Cat
Прежде чем перейти к использованию команды cat, давайте начнем с обзора основного синтаксиса.
Выражения утилиты cat принимают следующую форму:
- OPTIONS — варианты кошек . Используйте cat —help чтобы просмотреть все доступные параметры.
- FILE_NAMES — Ноль или более имен файлов.
Отображение содержимого файла
Наиболее простое и распространенное использование команды cat — это чтение содержимого файлов.
Например, следующая команда отобразит содержимое файла /etc/issue в терминале:
Перенаправить содержимое файла
Вместо вывода вывода на стандартный вывод (на экране) вы можете перенаправить его в файл.
Следующая команда скопирует содержимое file1.txt в file2.txt с помощью оператора ( > ):
Если файл file2.txt не существует, команда создаст его. В противном случае он перезапишет файл.
Используйте оператор ( >> ), чтобы добавить содержимое file1.txt в file2.txt :
Как и раньше, если файла нет, он будет создан.
Печатать номера строк
Чтобы отобразить содержимое файла с номерами строк, используйте параметр -n :
Подавить повторяющиеся пустые строки
Используйте параметр -s чтобы пропустить повторяющиеся пустые выходные строки:
Отображение символов TAB
Параметр -T позволяет визуально различать табуляции и пробелы.
Символы TAB будут отображаться как ^I
Показать конец строк
Чтобы отобразить невидимый символ окончания строки, используйте аргумент -e :
Окончание строки будет отображаться как $ .
Объединение файлов
При передаче двух или более имен файлов в качестве аргументов команде cat содержимое файлов будет объединено. cat читает файлы в последовательности, указанной в его аргументах, и отображает содержимое файла в той же последовательности.
Например, следующая команда прочитает содержимое file1.txt и file2.txt и отобразит результат в терминале:
Вы можете объединить два или более текстовых файла и записать их в файл.
Следующая команда file1.txt содержимое file1.txt и file2.txt и запишет их в новый combinedfile.txt file2.txt с помощью оператора ( > ):
Если combinedfile.txt файл не существует, то команда будет создавать. В противном случае он перезапишет файл.
Чтобы file1.txt содержимое file1.txt и file2.txt и добавить результат в file3.txt с помощью оператора ( >> ):
Если файла нет, он будет создан.
При объединении файлов с помощью cat вы можете использовать те же аргументы, что и в предыдущем разделе.
Создание файлов
Создавать небольшие файлы с помощью cat часто проще, чем открывать текстовый редактор, такой как nano , Vim, Sublime Text или Visual Studio Code .
Чтобы создать новый файл, используйте команду cat за которой следует оператор перенаправления ( > ) и имя файла, который вы хотите создать. Нажмите Enter , введите текст и, когда закончите, нажмите CRTL+D чтобы сохранить файл.
В следующем примере мы создаем новый файл с именем file1.txt :
Если присутствует файл с именем file1.txt , он будет перезаписан. Используйте оператор « >> », чтобы добавить вывод в существующий файл.
Выводы
Команда cat может отображать, комбинировать и создавать новый файл.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Shred и безвозвратное удаление файлов
В этой статье я расскажу, каким образом можно раз и навсегда удалить файлы с жёсткого диска в ОС Ubuntu. Итак, знакомьтесь — команда shred.
Не все знают, что удаляя файл посредством rm или через файловый менеджер, сам файл не удаляется, а затирается лишь его индекс и пространство, которое занимал файл, записывается системой как свободное для записи. Файл, как вы уже поняли, так и остался на своём месте и восстановить его оттуда не составит большого труда. Он пролежит там до тех пор, пока на его место вы не запишите другую информацию.
Shred случайными числами заполняет место, занятое файлом. И уже, даже восстановив ваш удалённый файл, его будет невозможно прочитать. По умолчанию shred не удаляет файл, для этого используется параметр —remove (-u).
shred -u /path/to/file
В shred заложен 25-тикратный цикл, то есть программа перезапишет файл случайным содержимым 25 раз. Чтобы изменить это значение, например на 35-тикратный:
shred -u -n 35 /path/to/file
Если ваша паранойя достигла ещё бОльшего уровня, то вам подойдут следующие советы.
Чтобы спрятать информацию о том, что вы зачищали файл, используйте параметр -z, добавляющий нули в конец файла — это сделает файл непохожим на зашифрованный. Если вам интересно наблюдать за процессом перезаписи, параметр -v (verbose) служит для подробного вывода информации прогресса.
shred -u -z /path/to/file
Если хотите удалить сразу несколько файлов, то укажите их в таком формате:
shred -u -z -n 30 /path/to/file1 /path/to/file2 /path/to/file3
или же можно использовать маску:
shred -u -z -n *.txt
Shred также может удалить содержимое всего жёсткого диска командой
shred /dev/sda
Естественно, время выполнения операций напрямую зависит от размера файла и скорости записи.
Единственным минусом я обнаружил то, что shred не умеет удалять каталоги. В этом нам на помощь приходит утилита wipe:
wipe -rf /path/to/catalog
Для более подробной информации используйте man shred и man wipe.
Если вы уже удалили файлы, и не хотите восстанавливать их и потом «правильно» удалять, ввиду их большого размера, то остаётся одно — перезаписать другой информацией. Информацией, ничего в себе не несущей. В этом вам придёт на помощь утилита dd
dd if=/dev/zero of=/path/to/file.trash bs=1M count=1024
где значением count является нужный вам размер файла. 1024 = 1Гб, 2048 = 2Гб и т.д.
После создания файла, удалите его уже посредством shred’а.
Источник