Используем зашифрованную файловую систему EncFS в Astra Linux, в том числе для облачных данных
# Устанавливаем дополнительный пакет из репозитория
sudo apt install -y libpam-encfs
Скачиваем EncFS 1.9.5 (на текущий момент это был последний билд, так как этот пакет "заморожен") с ресурса https://packages.debian.org/ru/buster/encfs
wget http://ftp.ru.debian.org/debian/pool/main/e/encfs/encfs_1.9.5-1+b1_amd64.deb
Устанавливаем его вручную
Создаем папку в которой будут находиться данные которые требуется после шифрования хранить на ЯндексДиске:
mkdir ~/FolderEncFS
В папку ~/App помещаем файл .encfs6.xml который генерируется при создании зашифрованной файловой системы (далее по тексту внизу страницы описание процедуры инициализации шифрования)
Создаем скрипт-дешифратор:
nano ~/App/MountEncFS.sh
#!/bin/bash
# опция -i 600 подразумевает автоматическое размонтирование данных через 10 часов!
encfs -i 600 -c ~/App/.encfs6.xml ~/Yandex.Disk/.ExtDataEncFS ~/FolderEncFS
exit 0
# Объявляем скрипт выполняемым:
sudo chmod +x ~/App/MountEncFS.sh
# И выносим ярлык скрипта на рабочий стол. Когда необходимо обратиться к зашифрованным документам то запускаем этот скрипт.
Для размонтирования будем использовать скрипт:
nano ~/App/UnmountEncFS.sh
#!/bin/bash
encfs -u ~/FolderEncFS
exit 0
# Объявляем скрипт выполняемым:
sudo chmod +x ~/App/UnmountEncFS.sh
# Выносим ярлык скрипта на рабочий стол. После завершения работы с зашифрованными облачными данными, запустив этот скрипт мы отмонтируем зашифрованную облачную папку.
Если еще не создавалась зашифрованная папка данных и зашифрованные данные не лежат на ЯндексДиске, то инициализируем шифрование и запустим синхронизацию зашифрованных данных с ЯндексДиском:
В конкретном случае из примера выше по работе с ЯндексДиск, команда инициализации будет выглядеть так:
encfs ~/Yandex.Disk/.ExtDataEncFS ~/FolderEncFS
Примечание - первая папка (~/Yandex.Disk/.ExtDataEncFS) при инициализации обязательно должна быть пустой! А лучше производите инициализацию на обоих пустых папках - так будет меньше проблем если что либо перепутаете в синтаксисе команды. И соответственно обе папки должны быть созданы заранее (команда mkdir -p ПОЛНЫЙ_ПУТЬ_ПАПКИ)!
То есть получается команда вида: encfs ЗАШИФРОВАННАЯ_ПАПКА ПАПКА_С_ШИФРУЕМЫМИ_ДАННЫМИ
В "ПАПКА_С_ШИФРУЕМЫМИ_ДАННЫМИ" находятся данные которые необходимо зашифровать, и с которыми будем работать в дальнейшем
В пустой (при инициализации) ЗАШИФРОВАННАЯ_ПАПКА будут храниться данные уже в зашифрованном виде, которые мы через ЯндексДиск затем синхронизируем с облаком. !!! Внимание !!! - в этой папке после инициализации появится скрытый файл настроек шифрования .encfs6.xml который необходимо вырезать из этой папки и поместить в другое место, к примеру в папку ~/App
!!! Этот файл не должен попасть куда либо кроме рабочих станций на которых будет использоваться шифрование-дешифрование данных, так как как раз на основании этого файла происходит основная работа утилиты encfs !!!
При первичной инициализации encfs запросит уровень шифрования.
Режим "p", то есть максимальный, будет очень даже хорошим вариантом выбора для большинства случаев.
Далее encfs попросит ввести пароль который будет использоваться при шифровании-дешифровании данных. Вводим пароль и подтверждение, и запоминаем его, помня что потеря этого пароля приведет к потери зашифрованных данных!
Теперь после инициализации отмонтируем зашифрованную папку:
encfs -u ~/FolderEncFS
Вырезаем из папки ~/Yandex.Disk/.ExtDataEncFS файл .encfs6.xml и переносим его в папку ~/App
rm ~/Yandex.Disk/.ExtDataEncFS/.encfs6.xml ~/App
Далее работаем по инструкции в начале страницы, через скрипты монтирования-размонтирования зашифрованных папок, а так же запускаем синхронизацию ЯндексДиска