Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

пятница, 29 февраля 2008 г.

Как сделать зашифрованный диск

Дано: Gentoo Linux
Рабочая болванка - 1 штука.

Для начала убедимся, что у нас в ядре поставлены нужные галочки (версия 2.6.23):
BLK_DEV_LOOP=y
Prompt: Loopback device support
Location: -> Device Drivers -> Block devices

BLK_DEV_CRYPTOLOOP=y
Prompt: Cryptoloop Support
Location -> Device Drivers -> Block devices -> Loopback device support

В разделе Cryptographic API указать используемые алгоритмы шифрования, в нашем примере:
CRYPTO_TWOFISH=y
Prompt: Twofish cipher algorithm
Location:
-> Cryptographic API

Можно это все собрать и модулями, главное проследить чтобы они были загружены. Однако, если часто этим пользоваться, то собрать все необходимое прямо в ядре намного удобнее.

(добавлено 20080423): Проверить софт: sys-apps/util-linux должна быть с USE флагом loop-aes.

Затем:
1. создаем чистый файл под размер болванки. В примере ниже будет создан файл 1024*4200k байт.


# dd if=/dev/zero of=./disk.dat bs=1024 count=4200k

2. создаем шифрованный loop device и вводим пароль для шифрования:

# losetup -e twofish256 /dev/loop0 ./disk.dat
Password:

3. создаем файловую систему на вновь созданном устройстве

# mkfs.ext2 /dev/loop0

4. монтируем устройство

# mount /dev/loop0 /mnt/secure-disk

5. После этого в папку /mnt/secure-disk копируем все необходимые данные.
Оставшееся место можно, как обычно, контролировать командой df.

6. Затем размонтируем и удаляем устройство

# umount /mnt/test && losetup -d /dev/loop0

Полученный таким образом файл disk.dat можно записать на болванку. Важно помнить, что файлы больше 2Гб требуют на диске файловую систему UDF, которая, если не ошибаюсь, в Windows не поддерживается. Проблему можно обойти сделав несколько фалов размером до 2 гб и записать диск в обычном формате ISO.

Также лучше не забыть положить на диск файл readme.txt с короткой инструкцией. Она вам самим пригодится, чтобы не забыть какой алгоритм шифрования использовался:

(http://knopkodav.blogspot.com/2008/02/blog-post.html)

# losetup -e twofish256 /dev/loop0 ./disk.dat
Password:
# mount /dev/loop0 /mnt/secure-disk -t ext2
...
# umount /dev/loop0
# losetup -d /dev/loop0


Пока не изученные альтернативы:
loop-aes

пятница, 21 декабря 2007 г.

USB Linux Scanner "Segmentation fault" error

Замучался со сканером Canon Canoscan LiDe25 на Mandriva 2008. Из за попытки сканирования падает OpenOffice, Kooka, XSane ни слова при этом не произнося. Причем находит его нормально.

Еще под рутом сканер работает замечательно, под юзером - нет. Собственно, что имеем:


$ sane-find-scanner
found USB scanner (vendor=0x04a9 [Canon], product=0x2220 [CanoScan], chip=LM9832/3) at libusb:004:002
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
$ scanimage -L
Segmentation fault

Интернет на это оказался на удивление беден, замучался искать на тему глюком сканера, политики безопасности, подключения устройств и т.п. В итоге все свелось только к совету читать дебаг-информацию:

$ export SANE_DEBUG_DLL=255
$ scanimage -L
...
[dll] add_backend: adding backend `v4l'
[dll] add_backend: adding backend `hp_rts88xx'
[dll] add_backend: adding backend `epkowa'
[dll] add_backend: adding backend `smfp'
[dll] sane_get_devices
[dll] load: searching backend `smfp' in `/usr/lib/sane'
[dll] load: trying to load `/usr/lib/sane/libsane-smfp.so.1'
[dll] load: dlopen()ing `/usr/lib/sane/libsane-smfp.so.1'
[dll] init: initializing backend `smfp'
Segmentation fault
$ sudo scanimage -L
...
device `plustek:libusb:004:002' is a Canon LiDE25 USB flatbed scanner


Ага, предпологаем, что вся беда в smfp, тем более, что сканер использует бэкенд plustek (бекенды можно подсмотреть тут).
Идем в /etc/sane.d/dll.conf и комментируем последнюю строчку, попутно читая комментарий:

#
# The following backends are not included in the sane-backends distribution
# If you want to use them, download them from their webpages and read their
# documentation
#
# HPLIP backend homepage: http://hplip.sf.net/
# Uncomment the following line if hpaio is installed:
#hpaio
hp_rts88xx
#primascan
epkowa
#smfp

Готово.
Честно говоря, я так и понял почему под рутом оно работало, но разбираться времени нет, поэтому пусть будет так.