Шифруем флешку
Надёжное и бесплатное решение защиты данных на флешке
Anonymous
Автор
Итак, что нам нужно:
calculate dazmalab # fdisk -l Disk /dev/sda: 55.9 GiB, 60022480896 bytes, 117231408 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: BBE50E3A-EAAC-4B27-BF7E-BAF6B30DFFC4 Устр-во Start Конец Size Тип /dev/sda1 2048 2099199 1G Linux swap /dev/sda2 2099200 117210894 54.9G Linux filesystem /dev/sda3 117211136 117231374 9.9M BIOS boot partition Disk /dev/sdb: 7.4 GiB, 7948206080 bytes, 15523840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
calculate dazmalab # dd if=/dev/urandom of=/dev/sdb dd: запись в «/dev/sdb»: На устройстве не осталось свободного места 15523841+0 записей получено 15523840+0 записей отправлено скопировано 7948206080 байт (7.9 GB), 6619.34 c, 1.2 MB/c
calculate dazmalab # eix cryptsetup * sys-fs/cryptsetup Available versions: 1.0.6-r2 1.1.3-r3 ~1.2.0-r1 1.4.3 ~1.5.1 1.6.2 ~1.6.3 ~1.6.4 ~1.6.5 {dynamic +gcrypt kernel nettle nls openssl python reencrypt selinux (+)static static-libs udev urandom PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7"} Homepage: http://code.google.com/p/cryptsetup/ Description: Tool to setup encrypted devices with dm-crypt
calculate dazmalab # emerge -av sys-fs/cryptsetupПосле успешной установки, необходимо подгрузить модули
calculate dazmalab # modprobe dm-crypt calculate dazmalab # modprobe sha256Для шифрования будем испрользовать алгоритм sha256.
calculate dazmalab # cryptsetup -h=sha256 -c=aes-cbc-essiv:sha256 -s=256 luksFormat /dev/sdb WARNING! ======== This will overwrite data on /dev/sdb irrevocably. Are you sure? (Type uppercase yes): YES Enter passphrase: Verify passphrase: calculate dazmalab #На вопрос Are you sure? (Type uppercase yes): вводим YES большими буквами Если ошибок после выполнении команды нет, то значит флешка зашифрована. Теперь подключаем нашу флешку
calculate dazmalab # cryptsetup luksOpen /dev/sdb flash_cr Enter passphrase for /dev/sdb: ********** calculate dazmalab #После этого с ней можно работать, Создадим на ней раздел (Будет много выводов, не пугайтесь, все просто): Запускаем fdisk
calculate dazmalab # fdisk /dev/mapper/flash_cr Welcome to fdisk (util-linux 2.24.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xe3533d34. Команда (m для справки):Команды, которые мы будем использовать:
Команда (m для справки): p Disk /dev/mapper/flash_cr: 7.4 GiB, 7946108928 bytes, 15519744 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xe3533d34 Команда (m для справки):Создадим новый раздел
Команда (m для справки): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Номер раздела (1-4, default 1): 1 First sector (2048-15519743, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-15519743, default 15519743): Created a new partition 1 of type 'Linux' and of size 7.4 GiB. Команда (m для справки):Опять используя команду «p», посмотрим новую таблицу раздела:
Команда (m для справки): p Disk /dev/mapper/flash_cr: 7.4 GiB, 7946108928 bytes, 15519744 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xe3533d34 Устр-во Загрузочный Start Конец Blocks Id System /dev/mapper/flash_cr1 2048 15519743 7758848 83 Linux Команда (m для справки):Запишем раздел на флешку используя команду "w"
Команда (m для справки): w The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Недопустимый аргумент The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).Теперь перечитаем таблицу раздела используя команду «partprobe»:
calculate dazmalab # partprobe calculate dazmalab #Форматируем раздел:
calculate dazmalab # mkfs.ext4dev /dev/mapper/flash_cr1 mke2fs 1.42.7 (21-Jan-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 485760 inodes, 1939712 blocks 96985 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1988100096 60 block groups 32768 blocks per group, 32768 fragments per group 8096 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done calculate dazmalab #Осталось примонтировать раздел и работать с ним как с флешкой (Правда только от root пользователя, но меня это не смущает) монтируем
mount /dev/mapper/flash_cr1 /mnt/отмонтируем
umount /dev/mapper/flash_cr1