Як зашифрувати домашню папку в Linux

Для тих, хто шукає легкий і універсальний спосіб захисту своїх особистих файлів в Linux, EcryptFS є відмінним рішенням. Завдяки правильним налаштуванням, користувачі можуть без особливих зусиль шифрувати та дешифрувати свої важливі дані.

СПОЙЛЕР: Прокрутіть сторінку вниз, щоб переглянути відеоінструкцію наприкінці цієї статті.

Інсталяція EcryptFS

Перш ніж перейти до шифрування, необхідно встановити відповідний інструмент. EcryptFS є популярним вибором, сумісним з більшістю дистрибутивів Linux і простий у використанні. Для встановлення, скористайтеся пакетами для Ubuntu, Debian, Arch Linux, Fedora, OpenSUSE або скомпілюйте з вихідного коду, якщо у вас інший дистрибутив.

Ubuntu

sudo apt install ecryptfs-utils

Debian

sudo apt-get install ecryptfs-utils

Arch Linux

sudo pacman -S ecryptfs-utils

Fedora

sudo dnf install ecryptfs-utils

OpenSUSE

sudo zypper install ecryptfs-utils

Інші дистрибутиви Linux

Якщо ви не можете знайти пакет EcryptFS у вашій системі, вам потрібно завантажити вихідний код та скомпілювати його вручну. У разі виникнення труднощів зі збіркою, перегляньте документацію EcryptFS.

Шифрування домашньої директорії

У процесі шифрування буде створений тимчасовий користувач. Він не буде постійним і буде видалений після завершення інструкцій. Створення цього тимчасового користувача з правами суперкористувача є важливим, оскільки неможливо зашифрувати каталог користувача під час його активного сеансу.

Створення нового користувача

Для створення нового користувача відкрийте термінал та увійдіть як root:

su

або

sudo -s

Використовуйте команду `useradd`, щоб створити тимчасового користувача. Обов’язково додайте ключ `-M`, щоб запобігти створенню для нього окремої домашньої директорії.

useradd -M encrypt-admin

Після цього потрібно встановити пароль для користувача `encrypt-admin` за допомогою команди `passwd`:

passwd encrypt-admin

Користувач готовий до використання, але йому потрібно надати права root для виконання адміністративних дій. Для цього потрібно додати його до файлу sudoers. Відредагуйте файл конфігурації за допомогою команди `visudo`:

EDITOR=nano visudo

У текстовому редакторі Nano знайдіть розділ “Специфікація привілеїв користувача”. Під рядком “root ALL=(ALL:ALL) ALL” додайте наступний рядок:

encrypt-admin ALL=(ALL:ALL) ALL

Збережіть файл, натиснувши Ctrl+O, і закрийте редактор (Ctrl+X).

Початок процесу шифрування

Для початку шифрування вийдіть з облікового запису, який ви збираєтеся зашифрувати. На екрані входу натисніть комбінацію клавіш Alt + Ctrl + F1. Якщо це не спрацює, спробуйте F2 до F6.

У консолі TTY введіть ім’я користувача `encrypt-admin` та його пароль. Запустіть команду `ecryptfs-migrate-home`, щоб розпочати шифрування:

Важливо: Замініть “ваше ім’я користувача” на фактичне ім’я користувача, з якого ви вийшли. Щоб зашифрувати кілька облікових записів, виконайте цю команду для кожного з них.

sudo ecryptfs-migrate-home –u yourusername

Після виконання цієї команди користувацька директорія буде переміщена в зашифроване сховище. Тепер можна вийти з облікового запису тимчасового адміністратора та повернутися до звичайного користувача. Вийдіть з консолі TTY, набравши:

exit

Повинен з’явитися екран входу. Натисніть Alt + F2 – F7, щоб повернутися в графічний режим.

Видалення облікового запису користувача

Після успішного налаштування EcryptFS настав час позбутися тимчасового користувача `encrypt-admin`. Почніть із видалення його прав у файлі sudoers. Відкрийте термінал та відредагуйте файл за допомогою `visudo`:

sudo -s

EDITOR=nano visudo

Знайдіть та видаліть рядок, який був доданий раніше:

encrypt-admin ALL=(ALL:ALL) ALL

Збережіть зміни (Ctrl+O) та закрийте редактор (Ctrl+X).

`encrypt-admin` більше не має прав root і не може вносити зміни в систему. Він нешкідливий і може бути залишений. Однак, якщо ви не бажаєте мати декілька користувачів у системі, його можна видалити. Використайте команду `userdel` для видалення користувача:

sudo userdel encrypt-admin

Встановлення пароля шифрування

EcryptFS майже готовий до використання. Залишилося лише встановити надійний пароль. Відкрийте термінал (без використання sudo або root) і скористайтеся командою `ecryptfs-add-passphrase`. Пам’ятайте, що шифрування без надійного пароля є безглуздим. Для генерації надійного пароля скористайтеся strongpasswordgenerator.com.

Примітка: Якщо ви не хочете використовувати генератор, то ознайомтеся з цією статтею про створення надійних парольних фраз.

ecryptfs-add-passphrase

Після успішного виконання `ecryptfs-add-passphrase` домашня директорія буде повністю зашифрована. Перезавантажте комп’ютер для активації змін. Після перезавантаження EcryptFS буде запитувати ваш новий пароль для входу.