Btrfs

Как зашифровать файловую систему Btrfs?

Как зашифровать файловую систему Btrfs?

Функция шифрования на уровне файловой системы Btrfs по-прежнему недоступна. Но вы можете использовать сторонний инструмент шифрования, например dm-crypt для шифрования всех устройств хранения вашей файловой системы Btrfs.

В этой статье я покажу вам, как зашифровать устройства хранения, добавленные в файловую систему Btrfs, с помощью dm-crypt. Итак, приступим.

Сокращения

Предпосылки

Чтобы подписаться на эту статью:

Как видите, у меня есть HDD SDB на моем Ubuntu 20.04 LTS машина. Я зашифрую его и отформатирую в файловой системе Btrfs.

$ sudo lsblk -e7

Установка необходимых пакетов в Ubuntu 20.04 LTS

Чтобы зашифровать устройства хранения и отформатировать их с помощью файловой системы Btrfs, вам потребуется btrfs-progs а также cryptsetup пакеты, установленные на вашем Ubuntu 20.04 LTS машина. К счастью, эти пакеты доступны в официальном репозитории пакетов Ubuntu 20.04 LTS.

Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

$ sudo подходящее обновление


Установить btrfs-progs а также cryptsetup, выполните следующую команду:

$ sudo apt install btrfs-progs cryptsetup --install-предполагает


Для подтверждения установки нажмите Y а затем нажмите <Входить>.


В btrfs-progs а также cryptsetup пакеты и их зависимости устанавливаются.


В btrfs-progs а также cryptsetup пакеты должны быть установлены на этом этапе.

Установка необходимых пакетов в Fedora 33

Чтобы зашифровать устройства хранения и отформатировать их с помощью файловой системы Btrfs, вам потребуется btrfs-progs а также cryptsetup пакеты, установленные на вашем компьютере с Fedora 33 Workstation. К счастью, эти пакеты доступны в официальном репозитории пакетов Fedora 33 Workstation.

Сначала обновите кеш репозитория пакетов DNF с помощью следующей команды:

$ sudo dnf makecache


Установить btrfs-progs а также cryptsetup, выполните следующую команду:

$ sudo dnf установить btrfs-progs cryptsetup -y


Fedora 33 Workstation по умолчанию использует файловую систему Btrfs. Таким образом, более вероятно, что у вас уже будут установлены эти пакеты, как вы можете видеть на скриншоте ниже. Если по какой-то причине они не установлены, они будут установлены.

Создание ключа шифрования

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

Вы можете сгенерировать свой ключ шифрования и сохранить его в / etc / cryptkey файл с помощью следующей команды:

$ sudo dd if = / dev / urandom of = / etc / cryptkey bs = 64 count = 1


Новый ключ шифрования должен быть сгенерирован и сохранен в / etc / cryptkey файл.


Файл ключа шифрования / etc / cryptkey могут быть прочитаны всеми по умолчанию, как вы можете видеть на скриншоте ниже. Это угроза безопасности. Мы хотим только корень пользователь, чтобы иметь возможность читать / писать в / etc / cryptkey файл.

$ ls -lh / etc / cryptkey


Чтобы разрешить только пользователю root читать / писать в / etc / cryptkey файл, измените права доступа к файлу следующим образом:

$ sudo chmod -v 600 / и т. д. / cryptkey


Как видите, только корень пользователь имеет разрешение на чтение / запись (rw) в / etc / cryptkey файл. Таким образом, никто другой не может видеть, что находится в / etc / cryptkey файл.

$ ls -lh / etc / cryptkey

Шифрование запоминающих устройств с помощью dm-crypt

Теперь, когда вы сгенерировали ключ шифрования, вы можете зашифровать свое запоминающее устройство. скажем,  SDB, с технологией шифрования дисков LUKS v2 (версия 2) следующим образом:

$ sudo cryptsetup -v --type luks2 luksFormat / dev / sdb / etc / cryptkey

cryptsetup предложит вам подтвердить операцию шифрования.

ПРИМЕЧАНИЕ: Все данные вашего HDD / SSD должны быть удалены. Итак, не забудьте переместить все ваши важные данные, прежде чем пытаться зашифровать свой жесткий диск / твердотельный накопитель.


Чтобы подтвердить операцию шифрования диска, введите ДА (в верхнем регистре) и нажмите . Это может занять некоторое время.


На этом этапе запоминающее устройство / dev / sdb должен быть зашифрован ключом шифрования / etc / cryptkey.

Открытие зашифрованных запоминающих устройств

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

Вы можете открыть зашифрованное запоминающее устройство SDB и сопоставьте его со своим компьютером как данные запоминающее устройство следующим образом:

$ sudo cryptsetup open --key-file = / etc / cryptkey --type luks2 / dev / sdb data


Теперь расшифрованное устройство хранения будет доступно в пути / dev / mapper / данные. Вы должны создать желаемую файловую систему в / dev / mapper / устройство данных и смонтировать / dev / mapper / устройство данных вместо / dev / sdb впредь.

Создание файловой системы Btrfs на зашифрованных устройствах:

Чтобы создать файловую систему Btrfs на расшифрованном запоминающем устройстве / dev / mapper / данные с данными метки выполните следующую команду:

$ sudo mkfs.btrfs -L данные / dev / mapper / data


Файловая система Btrfs должна быть создана на / dev / mapper / устройство хранения данных, который расшифровывается с запоминающего устройства / dev / sdb (зашифровано LUKS 2).

Монтирование зашифрованной файловой системы Btrfs

Вы также можете смонтировать файловую систему Btrfs, которую вы создали ранее.

Допустим, вы хотите смонтировать файловую систему Btrfs, созданную ранее в /данные каталог.

Итак, создайте /данные каталог следующим образом:

$ sudo mkdir -v / данные


Чтобы смонтировать файловую систему Btrfs, созданную на / dev / mapper / устройство хранения данных в /данные каталог, выполните следующую команду:

$ sudo mount / dev / mapper / данные / данные


Как видите, файловая система Btrfs, созданная на зашифрованном запоминающем устройстве SDB установлен в /данные каталог.

Показать / данные файловой системы $ sudo btrfs

Автоматическое монтирование зашифрованной файловой системы Btrfs во время загрузки

Вы также можете смонтировать зашифрованную файловую систему Btrfs во время загрузки.

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

Сначала найдите UUID SDB зашифрованное устройство хранения с помощью следующей команды:

$ sudo blkid / dev / sdb


Как видите, UUID SDB зашифрованное запоминающее устройство 1c66b0de-b2a3-4d28-81c5-81950434f972. Для тебя будет иначе. Так что не забудьте сменить его на свой с этого момента.


Чтобы автоматически расшифровать SDB запоминающее устройство во время загрузки, вы должны добавить запись для него на / и т.д. / crypttab файл.

Открой / и т.д. / crypttab файл с нано текстовый редактор следующим образом:

$ sudo nano / etc / crypttab


Добавьте следующую строку в конец / etc / crypttab файл, если вы используете жесткий диск.

data UUID = 1c66b0de-b2a3-4d28-81c5-81950434f972 / etc / cryptkey luks, не раньше

Добавьте следующую строку в конец / etc / crypttab файл, если вы используете SSD.

data UUID = 1c66b0de-b2a3-4d28-81c5-81950434f972 / etc / cryptkey luks, noearly, discard

Когда вы закончите, нажмите <Ctrl> + Икс, с последующим Y, а также <Входить> чтобы сохранить / etc / crypttab файл.


Теперь найдите UUID расшифрованного / dev / mapper / данные запоминающее устройство с помощью следующей команды:

$ sudo blkid / dev / mapper / данные


Как видите, UUID / dev / mapper / данные расшифрованное запоминающее устройство dafd9d61-bdc9-446a-8b0c-aa209bfab98d. Для тебя будет иначе. Так что не забудьте сменить его на свой с этого момента.


Чтобы автоматически смонтировать расшифрованное запоминающее устройство / dev / mapper / данные в каталоге / data во время загрузки, вы должны добавить запись для него в / etc / fstab файл.

Открой / etc / fstab файл с нано текстовый редактор следующим образом:

$ sudo nano / etc / fstab


Теперь добавьте следующую строку в конец / etc / fstab файл:

UUID = dafd9d61-bdc9-446a-8b0c-aa209bfab98d / data btrfs по умолчанию 0 0

Когда вы закончите, нажмите <Ctrl> + Икс, с последующим Y, а также <Входить> чтобы сохранить / etc / fstab файл.


Наконец, перезагрузите компьютер, чтобы изменения вступили в силу.

$ sudo перезагрузка


Зашифрованное запоминающее устройство SDB расшифровывается в данные запоминающее устройство и данные запоминающее устройство установлено в /данные каталог.

$ sudo lsblk -e7


Как видите, файловая система Btrfs, созданная на расшифрованном / dev / mapper / данные запоминающее устройство установлено в /данные каталог.

Показать / данные файловой системы $ sudo btrfs

Заключение

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

Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...
Лучшие игры с отслеживанием рук
Oculus Quest недавно представил отличную идею отслеживания рук без контроллеров. С постоянно растущим числом игр и действий, которые осуществляются фо...