Назад | Перейти на главную страницу

Смонтировать EncFS при загрузке

Я пытаюсь получить зашифрованный EncFS домой для монтирования при загрузке без ввода данных пользователем (напрямую, а не через ssh). Пробовали различные решения (добавление записи тома в pam_mount.conf.xml, различные настройки в различные файлы pam) без радости. Можно смонтировать каталог encfs вручную, но требуется ввод пароля вручную. Все это можно сделать с помощью сценария ожидания ...

Есть несколько сообщений об автоматическом монтировании encfs при загрузке, но невозможно заставить работать ни один из них (за исключением сценария ожидания).

Может ли кто-нибудь подсказать, как это сделать (я использую Debian Squeeze)? Или сценарий ожидания - лучший способ?

Спасибо!

Вы можете передать пароль Encfs как это:

echo password | encfs -S /crypted /uncrypted

Я просто использую сценарий bash, подобный этому однострочному:

#!/bin/bash
ENCFS6_CONFIG="/home/<user>/.keys/encfs/key_data.xml" encfs -o nonempty --extpass='/home/<user>/.keys/encfs/key_data_pw' /run/media/<user>/data /home/<user>/DATA

Использование ENCFS_CONFIG и extpass хорошо документирован в документации по EncFS.

Также в Squeeze я использую эту строку в /etc/rc.local:

/usr/local/sbin/mount_crypted_encfs.exp

А сценарий такой:

#!/usr/bin/expect -f

set timeout 1

spawn /usr/bin/encfs /crypted /uncrypted -- -o allow_other -o default_permissions
expect "EncFS Password:"
send "myPassword\r" 

expect eof

Но один раз из десяти он не может монтироваться, и мне приходится запускать сценарий ожидания вручную: - /

Я использую SD-карту в качестве ключа, чтобы открыть папку encfs, но вы можете использовать файл, специфичный для вашей системы.

encfs /home/user/crypted /home/user/uncrypted -o umask='007' --public  --extpass='udevadm info --query=all --name=/dev/mmcblk0p1 | grep ID_SERIAL'

Поместите это в свой rc.local или запустите как службу