💾 Archived View for tilde.team › ~rami › shredderscript.gmi captured on 2023-12-28 at 16:06:19. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
רמי
SUBJECT: Shredder: Гарантированное уничтожение файлов
AUTHOR: Rami Rosenfeld (translation; manual)
DATE: 21/07/22
TIME: 15.00
LANG: en, ru
LICENSE: GNU FDL 1.3. GNU GPL 3.
TAGS: gnu, gnome, software, opensource, linux, system, gui, man, manual, bash, privacy, security, shred, shredder, nautilus, caja
Скрипт для файлового менеджера Nautilus (Caja и прочих, умеющих исполнять скрипты). Уничтожает файлы в 7 проходов разными алгоритмами, последовательно (по символам) затирает имена удаляемых файлов нулями для сокрытия факта уничтожения.
- полное уничтожение файлов НЕ ГАРАНТИРУЕТСЯ на твердотельных носителях и картах памяти: SSD/SD/SDHC - это связано с особенностями данных устройств;
- НЕ ИСПОЛЬЗУЙТЕ скрипт для удаления устройств целиком, например /dev/hda и т.п.;
- скрипт НЕ УДАЛЯЕТ каталоги;
- будьте осторожны: восстановление вашей информации на HDD НЕВОЗМОЖНО!
Данный скрипт использует распространенную команду GNU/Linux - shred с некоторыми ключами (дополнительно см. man shred).
Прошу также учесть:
- изначально скрипт создавался для RPM-дистрибутивов (RHEL, Fedora, CentOS, Oracle) и предназначен для файловых менеджеров Nautilus, Caja, но он так же точно будет работать в Ubuntu и любой другой ОС, чей файловый менеджер подерживает выполнение скриптов по ПКМ (контекстное меню, вызываемое правой клавишей мыши).
ИСПОЛЬЗОВАНИЕ
1. Предварительно установите оболочку Zenity (она имеется по умолчанию во многих ОС).
2. Скопируйте текст скрипта, приведенный ниже, начиная со знака "#!" и заканчивая последней строкой - "exit 0".
3. Создайте в текстовом редакторе новый пустой файл, вставьте в него содержимое буфера обмена и сохраните под именем shredder.sh
4. Разместите скрипт в каталоге ~/.local/share/nautilus/scripts/
5. Сделайте файл исполнимым, нажав на нем ПКМ и выбрав из появившегося контекстного меню строку "Свойства"; далее перейдите во вкладку "Права" и активируйте чекбокс "Позволять выполнение файла как программы" (или нечто подобное). (ИЛИ): запустите терминал и выполните команду: chmod 700 ~/.local/share/nautilus/scripts/shredder.sh
6. Перезапустите файловый менеджер.
7. Выберите в Nautilus (Caja) файл (группу файлов) для уничтожения, выделив их. Нажмите на выделении ПКМ и в появившемся контекстном меню перейдите на "Сценарии" / shredder.sh
Приучите себя уничтожать, а не "удалять" любые типы файлов.
#!/usr/bin/env bash #------------------------------------------------------------------------------ # Shredder (7-pass) for Nautilus (Caja, etc.) file manager (GNU/Linux). # Version: 1.0.1 (ru) # Copyright: 🄯 Rami Rosenfeld, 2022. https://rami.tilde.team - # translation, manual and settings. # GNU GPL, v. 3: https://www.gnu.org/licenses/gpl-3.0.html # # Features: # - overwrite 7 times instead of the default; # - truncate and remove file after overwriting; # - add a final overwrite with zeros to hide shredding. # # You must install zenity before. # # Place shredder.sh here: ~/.local/share/nautilus/scripts/ # Make this file executable: chmod 700 shredder.sh # # Nautilus: select any files to shred => right click => "Scripts". # # **ATTENTION!** # - The complete shredding is NOT guaranteed on devices like SSD/SD/SDHC; # - do NOT use on device files like /dev/hda; # - this script can't shred any folders; # - recovery is impossible, even with the more expensive # file recovery solutions. # # # Shredder 1.0.1 (ru_RU) based on shred_file # Version: 1 # Copyright: Josh Barrick, 2011. josh@barrick.co.cc # Thanks to Warren Severin for complete re-write. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #------------------------------------------------------------------------------ #!/usr/bin/env bash nfiles="$#" files="" for file in "$@" ; do if [ ${#files} -gt 0 ] ; then files="$files\n"; fi files=$files$(basename "$file") done zenity --question --title="Уничтожить $nfiles файл(-а/-ов)?" --text="$files" if [ "$?" = 1 ] ; then exit $? else nfile=0 (for file in "$@" ; do echo \# Shredding $(basename "$file")... shredout=$(shred -u -z -n 7 "$file" 2>&1) rc=$? if [ $rc -ne 0 ] ; then echo "100" zenity --error --title="Ошибка!" --text="$shredout" exit $rc else let nfile++ echo $((nfile * 100 / nfiles)) fi done ) | zenity --progress --title="Уничтожаю файлы (7 проходов)" --auto-close \ --percentage=0 --text="Старт..." --no-cancel fi exit 0
🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.
🄯 Rami Rosenfeld, 2022. GNU GPL 3.