encfs позволяет прозрачно шифровать каталог с файлами, используется достаточно надёжный метод, такой каталог можно сравнительно безбоязненно положить в Dropbox, например. Для доступа этот каталог монтируется через fuse с вводом пароля, после чего с ним можно работать как с обычным каталогом, все данные перешифровываются на лету.
В debian/ubuntu ставится в два шага:
# apt-get install encfs
# adduser USER fuse
После чего перелогиниться, чтобы пользователь проявился в группе fuse
.
Создание из консоли¶
Заходим в каталог, который мы хотим зашифровать и делаем так:
% encfs `pwd` /tmp/encfs-tmp
The directory "/tmp/encfs-tmp" does not exist. Should it be created? (y,n) y
Creating new encrypted volume.
Please choose from one of the following options:
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?> p
Paranoia configuration selected.
Configuration finished. The filesystem to be created has
the following properties:
Filesystem cypher: "ssl/aes", version 3:0:2
Filename encoding: "nameio/block", version 3:0:1
Key Size: 256 bits
Block Size: 1024 bytes, including 8 byte MAC header
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.
File data IV is chained to filename IV.
File holes passed through to ciphertext.
-------------------------- WARNING --------------------------
The external initialisation-vector chaining option has been
enabled. This option disables the use of hard links on the
filesystem. Without hard links, some programs may not work.
The programs 'mutt' and 'procmail' are known to fail. For
more information, please see the encfs mailing list.
If you would like to choose another configuration setting,
please press CTRL-C now to abort and start again.
Now you will need to enter a password for your filesystem.
You will need to remember this password, as there is absolutely
no recovery mechanism. However, the password can be changed
later using encfsctl.
New Encfs Password:
Verify Encfs Password:
Вводим пароль, потом смотрим, что получилось:
% mount|grep encfs
encfs on /tmp/encfs-tmp type fuse.encfs (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000,default_permissions)
Размонтируем /tmp/encfs-tmp
:
% fusermount -u /tmp/encfs-tmp
Теперь в текущем каталоге будут лежать зашифрованные файлы. Чтобы получить до файлов нормальный доступ, каталог нужно примонтировать:
encfs /полный/путь/до/зашифрованного/каталога /home/$USER/encfs/target
Удобное использование через GUI¶
Пользоваться консольными командами для монтирования зашифрованного каталога не особо удобно, поэтому ставим программу cryptkeeper
, она добавляет в область уведомлений десктопа иконку, кликами по которой удобно монтировать/размонтировать каталоги, зашифрованные через encfs. Программа берёт на себя приём пароля, создание каталога при монтировании и удаление при размонтировании.
Зашифрованные каталоги могут располагаться где угодно на диске, однако точки монтирования удобно свести в один каталог, например, ~/encfs
.