Существует ли программа или функция для создания шифрованных папок, аналогичных тем, что есть в Windows?

Я использую rsync для Windows для создания резервных копий списка папок, и меня это вполне устраивает. Однако, хочу добавить функционал удаленного бэкапа. У меня есть сервер на Ubuntu, к которому есть root-доступ не только у меня. Существует много способов создания зашифрованного виртуального диска, но возникает проблема: во время бэкапа мне нужно открывать диск, и в этот момент любой может получить доступ к данным. 

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

Это немного похоже на функционал зашифрованной папки в Windows, но я не могу найти способ реализовать подобное.
  • 21 марта 2025 г. 10:05
Ответы на вопрос 2
Для решения вашей задачи существует несколько подходов, которые могут обеспечить шифрование данных, удобство работы с файлами и возможность синхронизации с помощью rsync. Вот несколько методов, которые вы можете рассмотреть:

### 1. **eCryptfs**

eCryptfs — это система шифрования файлов в Linux, которая может быть использована для создания зашифрованных папок. Она позволяет монтировать папку как зашифрованную, а раскрыв ее, вы сможете работать с файлами в расшифрованном виде.

#### Установка и настройка:
```bash
sudo apt-get install ecryptfs-utils
```

Создайте зашифрованную папку:
```bash
mkdir ~/encrypted
sudo mount -t ecryptfs ~/encrypted ~/encrypted
```

Следуйте инструкциям, чтобы настроить параметры шифрования. Важно помнить, что при этом необходимо будет вводить пароль для доступа к данным.
 
С помощью rsync вы сможете синхронизировать данные в расшифрованном виде, когда папка смонтирована.

### 2. **VeraCrypt**

VeraCrypt — это популярная утилита для создания зашифрованных контейнеров и виртуальных дисков. Вы можете создать зашифрованный контейнер, который будет монтироваться в вашей системе.

#### Установка и настройка:
```bash
sudo apt-get install veracrypt
```

Создайте контейнер и задайте его параметры шифрования. После создания монтируйте его, вводя пароль. 

После монтирования вы будете работать с расшифрованными файлами, и когда контейнер будет закрыт, данные будут зашифрованы.

### 3. **Cryptkeeper**

Cryptkeeper — это приложение с графическим интерфейсом для управления зашифрованными папками, использующее вышеупомянутый eCryptfs. Оно может облегчить процесс создания и управления зашифрованными папками.

#### Установка:
```bash
sudo apt-get install cryptkeeper
```

После установки вы сможете создавать зашифрованные папки через интерфейс Cryptkeeper.

### 4. **gocryptfs**

gocryptfs — это еще одна альтернатива, которая позволяет создавать зашифрованные папки и имеет поддержку "изменяемого хранилища". Это позволяет вам работать с файлами как обычно, а при закрытии папки они остаются зашифрованными.

#### Установка и настройка:
```bash
sudo apt-get install gocryptfs
```

Создайте зашифрованную папку:
```bash
mkdir ~/encrypted
gocryptfs -init ~/encrypted
```

Затем для монтирования:
```bash
gocryptfs ~/encrypted ~/decrypted
```

Вы сможете работать с расшифрованными файлами в папке `~/decrypted`, а когда закончите, отмонтируйте ее.

## Итог

Все эти инструменты позволяют работать с зашифрованными файлами, сохранять актуальную дату изменения и могут быть использованы в сочетании с rsync для синхронизации. Выберите тот, который наиболее соответствует вашим потребностям.
Папка на сервере, зашифрованная через fscrypt. На сервере при входе любым пользователем (в т.ч. root) выглядит как куча файлов с абракадаброй. При локальном монтировании пользователем (любым, в т.ч. автором) выглядит точно так же. Для чтения надо её либо на сервере либо на клинетской машине к которой она смонтирована расшифровать с помощью команды fscrypt unlock и пароля (есть вариант автоматической расшифровки через PEM при логине пользователя). 
Я таким образом шифрую часть каталога /home/user где лежат нужные файлы, кэш браузера, ключи, банковские реквизиты, данные криптокошельков и пр.
Похожие вопросы