Btrfs

Hvordan kryptere et Btrfs-filsystem?

Hvordan kryptere et Btrfs-filsystem?

Btrfs-krypteringsfunksjonen på filsystemnivå er fortsatt ikke tilgjengelig. Men du kan bruke et tredjeparts krypteringsverktøy som dm-krypt for å kryptere hele lagringsenhetene til Btrfs-filsystemet.

I denne artikkelen skal jeg vise deg hvordan du krypterer lagringsenhetene lagt til et Btrfs-filsystem med dm-crypt. Så la oss komme i gang.

Forkortelser

Forutsetninger

For å følge denne artikkelen:

Som du ser har jeg en harddisk sdb på min Ubuntu 20.04 LTS maskin. Jeg vil kryptere den og formatere den med Btrfs-filsystemet.

$ sudo lsblk -e7

Installere nødvendige pakker på Ubuntu 20.04 LTS

For å kryptere lagringsenheter og formatere dem med Btrfs-filsystemet, må du ha btrfs-progs og kryptsetup pakker installert på Ubuntu 20.04 LTS maskin. Heldigvis er disse pakkene tilgjengelige i det offisielle pakkelageret til Ubuntu 20.04 LTS.

Oppdater først APT-pakkelagerbufferen med følgende kommando:

$ sudo apt oppdatering


Å installere btrfs-progs og cryptsetup, kjør følgende kommando:

$ sudo apt installere btrfs-progs cryptsetup --install-foreslår


Trykk på for å bekrefte installasjonen Y og trykk deretter på <Tast inn>.


De btrfs-progs og cryptsetup pakker og deres avhengighet blir installert.


De btrfs-progs og kryptsetup pakker skal installeres på dette tidspunktet.

Installere nødvendige pakker på Fedora 33

For å kryptere lagringsenheter og formatere dem med Btrfs-filsystemet, må du ha btrfs-progs og kryptsetup pakker installert på Fedora 33 Workstation-maskinen din. Heldigvis er disse pakkene tilgjengelige i det offisielle pakkelageret til Fedora 33 Workstation.

Oppdater først DNF-pakkeoppbevaringsbufferen med følgende kommando:

$ sudo dnf makecache


Å installere btrfs-progs og kryptsetup, kjør følgende kommando:

$ sudo dnf installerer btrfs-progs cryptsetup -y


Fedora 33 Workstation bruker Btrfs-filsystemet som standard. Så det er mer sannsynlig at du allerede har disse pakkene installert, som du kan se på skjermbildet nedenfor. Hvis de av en eller annen grunn ikke er installert, blir de installert.

Genererer en krypteringsnøkkel

Før du kan kryptere lagringsenhetene dine med kryptsetup, du må generere en tilfeldig nøkkel på 64 byte.

Du kan generere krypteringsnøkkelen din og lagre den i / etc / kryptnøkkel fil med følgende kommando:

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


En ny krypteringsnøkkel skal genereres og lagres i / etc / kryptnøkkel fil.


Krypteringsnøkkelfilen / etc / kryptnøkkel kan leses av alle som standard, som du kan se på skjermbildet nedenfor. Dette er en sikkerhetsrisiko. Vi vil bare ha rot bruker å kunne lese / skrive til / etc / cryptkey-fil.

$ ls -lh / etc / cryptkey


For å la bare rotbrukeren lese / skrive til / etc / cryptkey-fil, endre filtillatelsene som følger:

$ sudo chmod -v 600 / etc / cryptkey


Som du kan se, er bare rot brukeren har lese / skrive (rw) tillatelse til / etc / kryptnøkkel fil. Så ingen andre kan se hva som er i / etc / kryptnøkkel fil.

$ ls -lh / etc / cryptkey

Kryptering av lagringsenhetene med dm-crypt

Nå som du har generert en krypteringsnøkkel, kan du kryptere lagringsenheten din. la oss si,  sdb, med LUKS v2 (versjon 2) diskkrypteringsteknologi som følger:

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

cryptsetup vil be deg om å bekrefte krypteringsoperasjonen.

MERK: Alle dataene på harddisken / SSD-en din skal fjernes. Så sørg for å flytte alle viktige data før du prøver å kryptere HDD / SSD.


Skriv inn for å bekrefte diskkryptering JA (med store bokstaver) og trykk . Det kan ta litt tid å fullføre.


På dette punktet, lagringsenheten / dev / sdb skal krypteres med krypteringsnøkkelen / etc / kryptnøkkel.

Åpne krypterte lagringsenheter

Når du har kryptert en lagringsenhet med cryptsetup, du må åpne den med cryptsetup verktøy for å kunne bruke det.

Du kan åpne den krypterte lagringsenheten sdb og kartlegg den til datamaskinen din som en data lagringsenhet som følger:

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


Nå vil den dekrypterte lagringsenheten være tilgjengelig i banen / dev / mapper / data. Du må opprette ønsket filsystem i / dev / mapper / dataenhet og monter / dev / mapper / dataenhet i stedet for / dev / sdb fra nå av.

Opprette Btrfs-filsystem på krypterte enheter:

For å lage et Btrfs-filsystem på den dekrypterte lagringsenheten / dev / mapper / data kjør følgende kommando med etikettdataene:

$ sudo mkfs.btrfs -L data / dev / mapper / data


Et Btrfs-filsystem skal opprettes på / dev / mapper / datalagringsenhet, som dekrypteres fra lagringsenheten / dev / sdb (kryptert med LUKS 2).

Montering av kryptert Btrfs-filsystem

Du kan også montere Btrfs-filsystemet du har opprettet tidligere.

La oss si at du vil montere Btrfs-filsystemet du har opprettet tidligere i /data katalog.

Så lag den /data katalog som følger:

$ sudo mkdir -v / data


For å montere Btrfs-filsystemet opprettet på / dev / mapper / datalagringsenhet i /data katalog, kjør følgende kommando:

$ sudo mount / dev / mapper / data / data


Som du kan se, ble Btrfs-filsystemet opprettet på den krypterte lagringsenheten sdb er montert i /data katalog.

$ sudo btrfs filsystem show / data

Montering automatisk kryptert Btrfs-filsystem ved oppstartstid

Du kan også montere det krypterte Btrfs-filsystemet ved oppstart.

For å montere det krypterte Btrfs-filsystemet ved oppstart, må du:

Finn først UUID av sdb kryptert lagringsenhet med følgende kommando:

$ sudo blkid / dev / sdb


Som du kan se, er UUID for sdb kryptert lagringsenhet er 1c66b0de-b2a3-4d28-81c5-81950434f972. Det vil være annerledes for deg. Så sørg for å endre den med din fra nå av.


Å automatisk dekryptere sdb lagringsenhet ved oppstartstid, må du legge til en oppføring for den på / etc / crypttab fil.

Åpne / etc / crypttab fil med nano tekstredigerer som følger:

$ sudo nano / etc / crypttab


Legg til følgende linje på slutten av / etc / crypttab filen hvis du bruker en harddisk.

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

Legg til følgende linje på slutten av / etc / crypttab filen hvis du bruker en SSD.

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

Når du er ferdig, trykk <Ctrl> + X, etterfulgt av Y, og <Tast inn> for å redde / etc / crypttab fil.


Finn nå UUID for dekryptert / dev / mapper / data lagringsenhet med følgende kommando:

$ sudo blkid / dev / mapper / data


Som du kan se, er UUID for / dev / mapper / data dekryptert lagringsenhet er dafd9d61-bdc9-446a-8b0c-aa209bfab98d. Det vil være annerledes for deg. Så sørg for å endre den med din fra nå av.


For å automatisk montere den dekrypterte lagringsenheten / dev / mapper / data i / data-katalogen ved oppstartstid, må du legge til en oppføring for den på / etc / fstab fil.

Åpne / etc / fstab-fil med nano tekstredigerer som følger:

$ sudo nano / etc / fstab


Nå legger du til følgende linje på slutten av / etc / fstab fil:

UUID = dafd9d61-bdc9-446a-8b0c-aa209bfab98d / data btrfs standard 0 0

Når du er ferdig, trykk <Ctrl> + X, etterfulgt av Y, og <Tast inn> for å redde / etc / fstab fil.


Til slutt starter du datamaskinen på nytt for at endringene skal tre i kraft.

$ sudo omstart


Den krypterte lagringsenheten sdb er dekryptert til en data lagringsenhet, og data lagringsenhet er montert i /data katalog.

$ sudo lsblk -e7


Som du kan se, ble Btrfs-filsystemet, som ble opprettet på dekryptert / dev / mapper / data lagringsenhet er montert i /data katalog.

$ sudo btrfs filsystem show / data

Konklusjon

I denne artikkelen har jeg vist deg hvordan du krypterer en lagringsenhet ved hjelp av LUKS 2-krypteringsteknologi med cryptsetup. Du lærer også hvordan du dekrypterer den krypterte lagringsenheten og formaterer den med Btrfs-filsystemet også. I tillegg til hvordan man automatisk dekrypterer den krypterte lagringsenheten og monterer den ved oppstart. Denne artikkelen skal hjelpe deg i gang med Btrfs-filsystemkryptering.

Hvordan laste ned og spille Sid Meier's Civilization VI på Linux
Introduksjon til spillet Civilization 6 er et moderne syn på det klassiske konseptet som ble introdusert i serien av Age of Empires-spillene. Ideen va...
Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...
Vulkan for Linux-brukere
Med hver nye generasjon grafikkort ser vi spillutviklere skyve grensene for grafisk troskap og komme et skritt nærmere fotorealisme. Men til tross for...