Следующие команды создадут том TrueCrypt с файлом случайного ключа на устройстве $DEVPATH
, * полностью перезаписывая любую информацию на этом диске / устройстве !!!* Затем он присоединит контейнер TrueCrypt, создаст том устройства в формате HFS+ на этом устройстве и уничтожит ключ, использованный для его создания:
#!/bin/bash
# Source for random data. Use /dev/random for more secure but slower random data""
RAND=/dev/urandom
# Create a random keyfile:
KEYFILE=/tmp/scratch.key
dd if=$RAND of=$KEYFILE bs=1 count=4096
# Create a TrueCrypt volume on $DEVPATH using $KEYFIlE as the keyfile:
/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -t -c \
-k $KEYFILE --volume-type=normal --quick --encryption=AES \
--hash=RIPEMD-160 --filesystem="none" --password="" \
--random-source=$RAND $DEVPATH
# Attach the TrueCrypt volume as a device:
/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -t --mount \
-k $KEYFILE --password="" --protect-hidden=no \
--filesystem=none $DEVPATH
# Find the TrueCrypt device:
TCDEV=$(/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -t -l | grep $DEVPATH | cut -d ' ' -f 3)
# Create a filesystem on the TrueCrypt device:
diskutil eraseVolume JHFS+ Scratch $TCDEV
# And destroy the key so this is a one-time use volume:
srm $KEYFILE
Обратите внимание, что:
- Созданный том TrueCrypt использует файл случайного ключа без пароля. Файл случайного ключа создается командой
dd if=$RAND of=$KEYFILE bs=1 count=4096
. Удалите эту строку и укажите KEYFILE=
на статический файл, если вы хотите использовать контейнер многократного использования. Обязательно удалите строку : srm $KEYFILE
если вы это делаете, потому что эта строка файла БЕЗОПАСНО УДАЛЯЕТ КЛЮЧЕВОЙ ФАЙЛ !!!*
- Случайные данные для этого скрипта поступают из неблокирующего случайного источника
/dev/urandom
. Измените на RAND=/dev/random
для большей безопасности, но замедления.
- Устройство
$DEVPATH
будет перезаписано этой командой !!!! Будьте абсолютно уверены, что знаете, что делаете. Для безопасности установите DEVPATH
в файл, например /tmp/some_file
и добавьте --size=nnnn
к строке TrueCrypt, которая создает том, где nnnn
- размер байта создаваемого файла. Удалите опцию --quick
. Это будет намного медленнее.
- Это работает в Mac OS X. Для Linux используйте
mkfs.ext3
а не diskutil eraseVolume
. Или просто используйте mount -t tmpfs
и зашифрованный своп ;-)