Зачем может потребоваться шифровать отдельные директории в Linux я расскажу в другой статье и обязательно вставлю сюда ссылку на неё. Тут же просто опишу свой случай:
- Шифруются отдельные папки в Linux, а не весь раздел.
- Нет привязки к паролю пользователя.
- Ручное/полуавтоматическое подключение/расшифровка данных с ручным вводом пароля.
Под мои требования подошла EncFS, тем более она есть в репозитории ArchLinux.
Нам нужно две пустые директории:
- С зашифрованными данными.
- Где будут располагаться расшифрованные данные.
Для начала нужно выйти из Telegram. По-умолчанию приложение хранит свои данные по пути ~/.local/share/TelegramDesktop/. Временно переименуем папку со старыми данными и создадим пустую по тому же пути:
$ mv ~/.local/share/TelegramDesktop/ ~/.local/share/TelegramDesktopTmp/
$ mkdir ~/.local/share/TelegramDesktopTmp/
Теперь создадим папку для зашифрованных данных. Локация может быть произвольным:
$ mkdir -p ~/.encfs/telegram
Инициализируем EncFS, зашифрованная папка будет примонтирована после успешного выполнения:
$ encfs ~/.encfs/telegram ~/.local/share/TelegramDesktop/
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
...
New Encfs Password:
Verify Encfs Password:
$ mount
...
encfs on /home/ozi/.local/share/TelegramDesktop type fuse.encfs (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000,default_permissions)
Переносим старые данные Telegram в зашифрованную директорию и удаляем временную папку:
$ mv ~/.local/share/TelegramDesktopTmp/* ~/.local/share/TelegramDesktop/
$ rm -r ~/.local/share/TelegramDesktopTmp/
Теперь можно запустить Telegram, не должно быть никаких отличий с обычными запусками. По окончанию работы нужно будет отключить расшифрованную директорию:
$ fusermount -u ~/.local/share/TelegramDesktop
Кроме того, можно добавить такую строчку в /etc/fstab:
encfs#/home/ozi/.encfs/telegram /home/ozi/.local/share/TelegramDesktop/ fuse noauto,user 0 0
И монтировать/размонтировать зашифрованную папку в Linux соответственно командами:
$ mount ~/.local/share/TelegramDesktop
EncFS Password:
$ umount ~/.local/share/TelegramDesktop
Ещё я написал инструкцию как зашифровать данные Firefox с помощью EncFS таким же способом.