Это старая версия документа.


Облачные хранилища становятся всё доступней, однако многие справедливо опасаются держать в них приватные данные. Описываемый в статье способ шифрует данные не только в облаке, но и расположенные локально. Для разблокировки шифрованных данных будет использоваться пароль пользователя операционной системы. Это нужно учитывать при смене пароля, а также для обеспечения возможной синхронизации с другими своими компьютерами. Для решения нашей задачи используем программу EncFS (Шифрованная виртуальная файловая система) и пакет libpam-encfs (модуль для автоматического монтирования файловых систем EncFS использущий механизм модуля PAM)

Установка

sudo apt-get install encfs libpam-encfs

Создание необходимых каталогов

Создадим в каталоге пользователя директорию ~/<cloud>/.private, в которой будут храниться данные в зашифрованном виде, и точку монтирования шифрованной файловой системы ~/private:

mkdir ~/<cloud>/.private ~/private

где <cloud> - ваше название каталога который настроен для синхронизации облака. Названия каталогов конечно могут быть своими, но для простоты последующей настройки советую назвать их именно так.

Создаем шифрованную файловую систему EncFS

Создаем шифрованную файловую систему EncFS для уже созданных нами каталогов:

encfs ~/<code>/.private ~/private

в процессе создания выбираем режим эксперта: «x» - это для того что бы иметь возможность выбрать алгоритм шифрования имен «Null» - таким образом, файлы в облаке будут иметь привычные имена и не будут пересинхронизироваться при использовании на разных компьютерах.(?) FIXME

Остальные параметры по умолчанию. При вводе пароля не забудьте выбрать его равным паролю логина юзера в системе.

Настройка автоматического монтирования EncFS при входе пользователя в систему (логине)

1. Редактируем файл «/etc/security/pam_encfs.conf»:

sudo nano /etc/security/pam_encfs.conf

для того что бы отключить автоматическое размонтирование при простое закоментируем строку:

# encfs_default --idle=1

раскомментируем строку:

* .private private -v allow_other

отредактируем её таким образом что бы указать созданные нами ранее каталоги:

* <cloud>/.private private -v allow_other

Именно эта строка указывает на автоматическое монтирование EncFS при входе пользователя в систему. Пути могут быть как относительно домашнего каталога, так и полные.

2. Редактируем файл «/etc/fuse.conf»:

sudo nano /etc/fuse.conf

где раскомментируем строку позволяющую опции монтирования не-root пользователям:

user_allow_other

3. Добавляем пользователя в группу fuse:

sudo usermod -a -G fuse $USER

Использование

Теперь, всякий раз при запуске системы, данные из ~/.private должны монтироваться в ~/private в расшифрованном виде. Остается только симлинком связать ~/.private c приватным каталогом облачного хранилища. Например:

ln -s ~/.private ~/<cloud>/.private

Замечания

1. Если включен автологин в систему в файле «/etc/lightdm/lightdm.conf», то монтирование шифрованного каталога в «~/private» автоматически осуществляться не будет. Оно и понятно. Но не сразу ;-)

2. В ОС Xubuntu 13.04 при монтировании EncFS в файловом менеджере Thunar появляется съемное устройство «private». А, допустим в Debian 7 XFCE, смонтированная система никак себя не обнаруживает. Об успешном монтировании можно судить или по наличию файла «.encfs6.xml» в точке монтирования, или командами

df -h | grep encfs

или

cat /etc/mtab | grep encfs

3. В процессе настройки и эксплуатации может потребоваться отмонтировать шифрованную систему. Выполняется командой:

fusermount -u ~/private

4. При настройке синхронизации с другим компьютером скачиваем с облака файл «encfs6.xml», добавляем к названию файла точку: «.encfs6.xml» и заменяем им аналогичный файл в каталоге «~/.private», предварительно отмонтировав шифрованную файловую систему. Или же, если облако уже синхронизировано с локальным компьютером, останавливаем синхронизацию, отмонтируем EncFS, каталог «~/<cloud>/.private» переносим в «~/» и делаем символьную ссылку

ln -s ~/.private ~/<cloud>/.private

В случае с mail.ru придётся ещё удалить служебные файлы «.Mail.Ru_Cloud» и «Mail.Ru_Cloud_$USER» и перенастроить синхронизацию с облаком. Поэтому при настройке нового компьютера саму синхронизацию файлов следует запускать в последнюю очередь.

Ссылки