Гид по технологиям

Шифрование каталога с помощью eCryptfs на Ubuntu 16.04

• 4 min read • Linux • Обновлено 25 Nov 2025
Шифрование каталога eCryptfs на Ubuntu 16.04
Шифрование каталога eCryptfs на Ubuntu 16.04

Кратко

Краткое пошаговое руководство по шифрованию обычного каталога (/home/secure) с помощью eCryptfs на Ubuntu 16.04. Показываю установку, монтирование, проверку, восстановление данных и рекомендации по безопасности.

Основная идея

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

1 Предварительное замечание

В этом руководстве будет зашифрован каталог /home/secure. Это обычный каталог, не отдельный раздел. Если вы собираетесь зашифровать существующий каталог с файлами, заранее создайте резервную копию — после монтирования как eCryptfs незашифрованные файлы в исходном каталоге станут недоступны, пока каталог смонтирован как eCryptfs или не восстановлены из бэкапа.

2 Установка eCryptfs

Установите утилиты eCryptfs:

apt-get -y install ecryptfs-utils

Важно: команда требует прав root или sudo.

3 Шифрование каталога с помощью eCryptfs

Создайте (или подготовьте) каталог /home/secure:

mkdir /home/secure

Если в каталоге уже есть файлы, сделайте их резервную копию перед монтированием:

cp -pfr /home/secure/ /tmp/

Монтирование каталога с типом файловой системы ecryptfs:

mount -t ecryptfs /home/secure /home/secure

При первом запуске появится серия вопросов. Пример взаимодействия:

root@server1:~# mount -t ecryptfs /home/secure /home/secure  
Passphrase: <-- Enter a secure password  
Select cipher:  
 1) aes: blocksize = 16; min keysize = 16; max keysize = 32  
 2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56  
 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24  
 4) twofish: blocksize = 16; min keysize = 16; max keysize = 32  
 5) cast6: blocksize = 16; min keysize = 16; max keysize = 32  
 6) cast5: blocksize = 8; min keysize = 5; max keysize = 16  
Selection [aes]: <-- Press ENTER  
Select key bytes:  
 1) 16  
 2) 32  
 3) 24  
Selection [16]: <-- 32  
Enable plaintext passthrough (y/n) [n]: <-- Press ENTER  
Enable filename encryption (y/n) [n]: <-- Press ENTER  
Attempting to mount with the following options:  
 ecryptfs_unlink_sigs  
 ecryptfs_key_bytes=16  
 ecryptfs_cipher=aes  
 ecryptfs_sig=bd28c38da9fc938b  
Mounted eCryptfs  
root@server1:~#

Пояснения:

  • Passphrase — пароль/фраза доступа, используйте надёжную фразу.
  • Cipher — шифр (например, aes).
  • Key bytes — длина ключа (16/32 байта и т.д.).
  • Plaintext passthrough — если включить, отдельные файлы могут оставаться в открытом виде; обычно оставляют «n» для безопасности.
  • Filename encryption — шифрует имена файлов; по умолчанию отключено, но рекомендуется включить, если нужно защищать имена файлов.

После успешного монтирования проверьте вывод mount:

mount

В списке вы увидите строку, где /home/secure смонтирован как ecryptfs.

4 Работа с файлами после монтирования

Если вы создаёте или копируете файлы в /home/secure, пока каталог смонтирован как eCryptfs, вы сможете читать и записывать их как обычно:

cp /etc/hosts /home/secure
cat /home/secure/hosts

Тестирование eCryptFS — просмотр содержимого защищённого каталога

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

umount /home/secure
cat /home/secure/hosts

Результат: зашифрованный файл на диске, нечитаем без монтирования

Если вы заранее сделали бэкап существующих файлов, восстановите их в зашифрованный каталог после монтирования и затем удалите временную копию:

cp -pfr /tmp/secure/ /home/  
rm -fr /tmp/secure/

5 Проверки и приёмка

Критерии приёмки:

  • Каталог /home/secure успешно монтируется с типом ecryptfs.
  • При монтировании файлы доступны для чтения/записи.
  • После отмонтирования данные на диске не читаемы в открытом виде.

Проверочные тесты:

  • Скопировать тестовый файл, прочитать при монтировании, отмонтировать и убедиться, что файл «бинарный» на диске.
  • Попробовать перезагрузить систему и повторно смонтировать (или настроить автосборку при загрузке, если нужно).

6 Безопасность и лучшие практики

Важно:

  • Используйте длинную случайную passphrase или управляйте ключами через защищённый менеджер.
  • Отключайте plaintext passthrough, если хотите, чтобы все файлы всегда хранились в зашифрованном виде.
  • Включите шифрование имён файлов, если необходимо скрыть структуру данных.
  • Не храните ключи и незашифрованные бэкапы рядом с зашифрованными данными.
  • Убедитесь, что swap и временные каталоги не раскрывают содержимое файлов (настраивайте шифрование swap / tmp отдельно).

Рекомендации по правам доступа:

  • Ограничьте доступ к каталогу и управляйте правами владельцев и групп.
  • Используйте SELinux/AppArmor по необходимости для дополнительного контроля доступа.

7 Когда eCryptfs не подходит

Примеры, когда eCryptfs — не лучший выбор:

  • Нужно шифровать весь диск целиком (используйте LUKS/dm-crypt для полного диска).
  • Требуется защита данных «в покое» и при загрузке без необходимости монтирования пользователем с passphrase (требуется централизованная система управления ключами).
  • Необходимо шифрование на уровне облачного хранилища с клиентской интеграцией (рассмотрите решения типа клиентского шифрования или контейнеры).

8 Альтернативные подходы

  • LUKS/dm-crypt — для шифрования разделов и всего диска.
  • EncFS — похожая стековая файловая система; имеет и преимущества, и ограничения по сравнению с eCryptfs.
  • Инструменты уровня приложений (gpg, age) — для шифрования отдельных файлов вне файловой системы.

9 Методология быстрого развёртывания (минимальный чеклист)

  1. Создать резервную копию исходных данных.
  2. Установить ecryptfs-utils.
  3. Создать каталог и смонтировать с ecryptfs.
  4. Выбрать cipher, key length и включить filename encryption (если нужно).
  5. Проверить доступность файлов при монтировании и отсутствие читаемости после отмонтирования.
  6. Настроить автоматизацию/скрипты монтирования и резервного копирования ключей (по необходимости).

10 Роли и ответственность (короткий чеклист)

  • Администратор: установка пакетов, настройка монтирования, управление ключами.
  • Пользователь: создаёт passphrase, использует каталог в рамках предоставленных прав.
  • Оператор бэкапов: хранит защищённые копии ключей и резервных данных вне целевого хоста.

11 Быстрый глоссарий (1 строка)

  • eCryptfs — стековая криптосистема для шифрования файлов на уровне файловой системы.
  • Passphrase — фраза-пароль, используемая для генерации ключей шифрования.
  • Cipher — алгоритм шифрования (например, AES).

12 Ссылки

Резюме

eCryptfs подходит для быстрого шифрования отдельных каталогов без переразбиения дисков. Он прост в установке и использовании, но требует внимания к ключам, настройкам plaintext passthrough и шифрованию имён файлов. Для полного шифрования диска рассматривайте LUKS/dm-crypt.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро