Cryptsetup
Хеллоу, пикабушцы. Это я (снова). Как вы поняли (или нет), я буду концентрировать свое внимание на постинг о различных утилитах, полезных для поддерживания приватности (ну и о разном). Сейчас пойдет речь о утилите "cryptsetup", или установить зашифрованный (примерно так). Её суть заключается в шифровании файловых систем (в основоном разделов диска да и не только) с вашим паролем, используя дефултный пакет Linux - dm-crypt и LUKS (Linux Unified Key Setup). Эта утилита имеет аналоги для Windows (Windows BitLocker к примеру), но так как я не сторонник америкосовской "оси", буду писать только о версии под Linux.
Подготовка
Для начала эту утилиту надо установить. Она идет в стандартном наборе пакетов у linux mint, debian, ubuntu и kali/backtrack. Но в остальных, не менее популярных дистрибутивах, cryptsetup'а (вроде) нет. Так что вот команды:
sudo apt-get install cryptsetup # ubuntu, mint, debian, kali, slackware и тд
sudo pacman -Sy cryptsetup # для arch/manjaro
sudo yum install cryptsetup # кто юзает arch новых версий или что-нибудь другое (redhat)
Теперь, когда все установлено, приступим. ВНИМАНИЕ, тут притормозите. Есть 2 популярных способа хранения инфы в зашифрованном виде с cryptsetup: создания файла с нулями, создание на нем файловой системы и исп. его как раздел / создать новый раздел и использовать его. Я рекомендую 2-ой способ, так как расшифрование и монтирование будет проще (у популярных файловых менеджеров есть такая фича, например у Thunar) и не будет проблем с изменением размера.
1-ый способ с эмулированием раздела
Предупрежу опять, что лучше использовать 2-ой способ, но кто меня послушает + иногда нет свободного места для создания новых разделов, но есть свободное место в 1 из них. И так, сначала надо создать файл нужного размера. Определите путь для вашего файла, для меня это мой тербайтник. Вот команда:
dd if=/dev/zero of=ВАШ_ПУТЬ bs=1 count=0 seek=1g # В аргументе seek используйте РАЗМЕР + 1ая буква единицы измерения, например g - gigabyte.
У вас есть файл нужного вам размера, давайте определим полный путь до этого файла переменной DISK_PATH, его буду я использовать в командах потом. (Блин, как Йода сказал)
2-ой способ с разделом
Тут будет немного труднее, и одной командой не обойтись. Вам понадобится утилита GParted:
sudo apt install gparted # mint, debian, ubu....
sudo yum install gparted # redhat
sudo pacman -S gparted # manjaro, без флага Y, нам он больше не нужен.
Запускаем. Вот примерно то, что вы увидите:
Если тут нет серого пространства (unallocated), то вам придется прибегнуть к 1-ому способу. Далее, нажимаем на кнопку New, выделив серую полосу (Не трогайте пустое пространство перед 1-ым разделом, если оно есть и если оно - не единственное место с пустым пространством) и нажмите Add, прокрутив ползунок с правого края до тех пор, пока в изменившейся строчке не будет нужный вам размер в мегабайтах и нажмите Apply:
Будте внимательны, перетаскивайте ползунок только справа налево. Я не думаю, что без причины занимать конец памяти - хорошая идея. Далее у вас появится путь в столбце Partition, начинаться он будет с /dev/sd и т.д. Запомните его, для нас его я буду обозначать переменной DISK_PATH позже при шифровке и расшифровке.
Шифровка-Расшифровка
Самая интересная часть. Помним про DISK_PATH? Круто. (Кстати я буду использовать 2 метод) Теперь пишем нашу 1-ую команду для форматирования нашей выделенной памяти:
sudo cryptsetup luksFormat DRIVE_PATH
И пишем большими буквами YES в подтверждение и ваш пароль
Теперь нам надо его открыть:
sudo cryptsetup luksOpen DISK_PATH ЛЮБОЕ_НАЗВАНИЕ # Замените ЛЮБОЕ_НАЗВАНИЕ на что-нибудь на английском и без пробелов
Он открыт, и доступен по личной директории cryptsetup - /dev/mapper. И теперь создаем раздел NTFS на нем (NTFS для таких вещей лучше подойдет). Команда:
sudo mkfs.ntfs /dev/mapper/ЛЮБОЕ_НАЗВАНИЕ
И монтируем его на новую папку, я предпочитаю на рабочий стол:
mkdir ~/Desktop/drive; sudo mount -w /dev/mapper/ЛЮБОЕ_НАЗВАНИЕ drive
Вуаля! На вашем рабочем столе теперь находится папка drive, туда можете сложить все что хочется, хоть гдз от родителей скрывай. Когда закончите, не забудьте отмонтировать раздел и зашифровать его (закрыть):
cd ~/Desktop; sudo umount drive; sudo cryptsetup luksClose ЛЮБОЕ_НАЗВАНИЕ
Оу е, теперь у вас есть свой личный секрет, без вашего пароля никто его не узнает, если все это время не подглядывал за твоей клавиатурой. Можно даже сделать скрипт для открытия-монтирования/демонтирования-шифрования вашего раздела или файла:
open-disk.sh:
sudo cryptsetup luksOpen DISK_PATH drive
cd ~/Desktop
mkdir drive
sudo mount -w /dev/mapper/drive drive
sudo thunar drive
sudo umount drive
sudo cryptsetup luksClose drive
echo "ez encrypted"
Он откроет раздел для записи и чтения, откроет файловый менеджер (поменяйте thunar на ваш, если такового у вас не имеется), и при его закрытии отмонтирует и закроет раздел.
Заключение
Есть много утилит подобного рода, они все созданы для обеспечения вашей безопасности и сохранения тайны личной жизни. Эдвард Сноуден говорил:
"Privacy is not about to hide, it is about to protect" - Приватность не для сокрытия чего-либо, а для защиты (https://www.youtube.com/watch?v=WRzm7wrk_FA)