Какой метод рекомендуется использовать для шифрования домашнего каталога в Ubuntu 21.04?
=========================================================================================

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

 Я нашел некоторую расплывчатую информацию о том, что Ubuntu недавно отказался от поддержки ecryptfs в пользу полного шифрования диска с помощью LUKS. Для моего случая использования нежелательно шифровать все устройство, поскольку я стремлюсь только защитить данные от несанкционированного доступа в случае потери или кражи машины. Никаких сверхсекретных данных и враждебных правительственных агентств (насколько мне известно) не задействовано, и я не могу позволить себе дополнительный диалог пароля. 

 Итак, мой вопрос прост: каков рекомендуемый метод шифрования домашнего каталога в Ubuntu 21.04? 

 Неужели мне почему-то не рекомендуется использовать ecryptfs? 

 Могу ли я безопасно использовать старый метод, описанный ниже? 

 ] Сначала установите пакеты ecryptfs-utils и rsync: 

```
sudo apt install ecryptfs-utils rsync lsof

```

 Затем загрузите модуль ядра ecryptfs: 

```
sudo modprobe ecryptfs

```

 Пользователь, чей домашний каталог вы хотите зашифровать, НЕ ДОЛЖЕН входить в систему. Например, вы можете войти в систему как root в tty. 

 Затем запустите как root: 

```
ecryptfs-migrate-home -u <username>

```
 

Рекомендуемый способ шифрования на Ubuntu/Linux в наши дни - действительно LUKS, будь то для отдельных контейнеров или целых разделов. 

Я делаю именно то, что вы хотите сделать, шифрую и монтирую отдельный раздел как диск /home/$USERNAME%. Ниже приведены соответствующие шаги. 

**ВНИМАНИЕ:** Выполнение этого действия уничтожит все данные на используемом разделе! 

**1. Создайте зашифрованный раздел:**

`sudo cryptsetup luksFormat /dev/sdXX`

где вместо sdXX указан номер устройства раздела, который вы хотите зашифровать. Выберите пароль, когда появится запрос. Это создаст заголовок LUKS в начале раздела, и ничего больше. Вы можете проверить, что заголовок был правильно отформатирован LUKS, выполнив

`sudo cryptsetup luksDump /dev/sdXX`

**2. Составьте карту зашифрованного контейнера:**

Вы можете заменить `c1` на любое имя по своему усмотрению:

`sudo cryptsetup luksOpen /dev/sdXX c1`

**2a. Сотрите раздел (необязательно):**

`sudo cat /dev/zero > /dev/mapper/c1`

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

**3. Создайте файловую систему в сопоставленном контейнере:**

Здесь я использую ext4:

`sudo mkfs.ext4 /dev/mapper/c1`

**4. Обновите файл /etc/crypttab:**

Ваш crypttab должен содержать строку типа

`cryptHome UUID=12345678-abcd-1234-5678-1234567890ab none luks,timeout=30`

с UUID устройства, которое вы только что зашифровали выше (то есть устройство `/dev/sdXX`). Вы можете узнать его, например, с помощью `lsblk -f` (в выводе под FSTYPE должно быть написано "crypto\_LUKS"). 

**5. Обновите файл /etc/fstab:**

Наконец, ваш fstab должен содержать строку типа

`/dev/mapper/cryptHome /home/username ext4 defaults 0 2`

для монтирования расшифрованного раздела в вашей файловой системе. Смонтированное имя (cryptHome) должно совпадать с тем, которое вы определили в crypttab. Замените `имя пользователя` на имя реального пользователя. 

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

**Заключительные замечания**

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

Нет проблем с установкой системы с каталогом /home/username по умолчанию, а затем смонтировать поверх него зашифрованный раздел. Чтобы перенести существующий домашний каталог, смонтируйте подключенный диск (/dev/mapper/c1 в этом примере) куда-нибудь на время после Шага 3 и скопируйте данные перед перезагрузкой. 

[Это](https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions) - отличный ресурс, если вы хотите узнать больше о том, как работает LUKS.