Btrfs

Hur man krypterar ett Btrfs-filsystem?

Hur man krypterar ett Btrfs-filsystem?

Krypteringsfunktionen för Btrfs-filsystemnivå är fortfarande inte tillgänglig. Men du kan använda ett tredjeparts krypteringsverktyg som dm-crypt för att kryptera hela lagringsenheterna i ditt Btrfs-filsystem.

I den här artikeln ska jag visa dig hur du krypterar lagringsenheterna som läggs till i ett Btrfs-filsystem med dm-crypt. Så, låt oss komma igång.

Förkortningar

Förutsättningar

För att följa den här artikeln:

Som du kan se har jag en hårddisk sdb på min Ubuntu 20.04 LTS-maskin. Jag kommer att kryptera den och formatera den med Btrfs-filsystemet.

$ sudo lsblk -e7

Installera nödvändiga paket på Ubuntu 20.04 LTS

För att kryptera lagringsenheter och formatera dem med Btrfs-filsystemet måste du ha btrfs-progs och kryptsetup paket installerade på din Ubuntu 20.04 LTS-maskin. Lyckligtvis finns dessa paket tillgängliga i det officiella paketförvaret för Ubuntu 20.04 LTS.

Uppdatera först APT-paketets förvarscache med följande kommando:

$ sudo apt uppdatering


Att installera btrfs-progs och kryptsetup, kör följande kommando:

$ sudo apt installera btrfs-progs cryptsetup - installera-föreslår


För att bekräfta installationen, tryck på Y och tryck sedan på <Stiga på>.


De btrfs-progs och kryptsetup paket och deras beroenden installeras.


De btrfs-progs och kryptsetup paket bör installeras vid denna tidpunkt.

Installera nödvändiga paket på Fedora 33

För att kryptera lagringsenheter och formatera dem med Btrfs-filsystemet måste du ha btrfs-progs och kryptsetup paket installerade på din Fedora 33 Workstation-maskin. Lyckligtvis finns dessa paket tillgängliga i det officiella paketförvaret för Fedora 33 Workstation.

Uppdatera först DNF-paketförvarets cache med följande kommando:

$ sudo dnf makecache


Att installera btrfs-progs och kryptsetup, kör följande kommando:

$ sudo dnf installerar btrfs-progs cryptsetup -y


Fedora 33 Workstation använder Btrfs-filsystemet som standard. Så det är mer troligt att du redan har dessa paket installerade, som du kan se på skärmdumpen nedan. Om de av någon anledning inte är installerade kommer de att installeras.

Generera en krypteringsnyckel

Innan du kan kryptera dina lagringsenheter med kryptsetup, du måste generera en 64 byte lång slumpmässig nyckel.

Du kan skapa din krypteringsnyckel och lagra den i / etc / cryptkey fil med följande kommando:

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


En ny krypteringsnyckel ska genereras och lagras i / etc / cryptkey fil.


Krypteringsnyckelfilen / etc / cryptkey kan läsas av alla som standard, som du kan se på skärmdumpen nedan. Detta är en säkerhetsrisk. Vi vill bara ha rot användare att kunna läsa / skriva till / etc / cryptkey-fil.

$ ls -lh / etc / cryptkey


För att endast låta rotanvändaren läsa / skriva till / etc / cryptkey-fil, ändra filbehörigheterna enligt följande:

$ sudo chmod -v 600 / etc / cryptkey


Som du kan se, bara rot användaren har läs / skriv (rw) behörighet till / etc / cryptkey fil. Så ingen annan kan se vad som finns i / etc / cryptkey fil.

$ ls -lh / etc / cryptkey

Kryptera lagringsenheterna med dm-crypt

Nu när du har skapat en krypteringsnyckel kan du kryptera din lagringsenhet. låt oss säga,  sdb, med LUKS v2 (version 2) diskkrypteringsteknik enligt följande:

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

kryptsetup kommer att uppmana dig att bekräfta krypteringen.

NOTERA: All data på din hårddisk / SSD ska tas bort. Så se till att flytta alla dina viktiga data innan du försöker kryptera din hårddisk / SSD.


För att bekräfta skivkryptering, skriv in JA (i versaler) och tryck på . Det kan ta ett tag att slutföra.


Vid denna punkt lagringsenheten / dev / sdb ska krypteras med krypteringsnyckeln / etc / cryptkey.

Öppna krypterade lagringsenheter

När du har krypterat en lagringsenhet med kryptsetup, du måste öppna den med kryptsetup verktyg för att kunna använda det.

Du kan öppna den krypterade lagringsenheten sdb och mappa den till din dator som en data lagringsenhet enligt följande:

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


Nu kommer den dekrypterade lagringsenheten att finnas tillgänglig i sökvägen / dev / mapper / data. Du måste skapa önskat filsystem i / dev / mapper / data-enhet och montera / dev / mapper / data-enhet istället för / dev / sdb från och med nu.

Skapa Btrfs-filsystem på krypterade enheter:

Att skapa ett Btrfs-filsystem på den dekrypterade lagringsenheten / dev / mapper / data med etikettdata kör du följande kommando:

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


Ett Btrfs-filsystem ska skapas på / dev / mapper / datalagringsenhet, som dekrypteras från lagringsenheten / dev / sdb (krypterad med LUKS 2).

Montering av krypterat Btrfs-filsystem

Du kan också montera Btrfs-filsystemet du skapat tidigare.

Låt oss säga att du vill montera Btrfs-filsystemet du skapade tidigare i /data katalog.

Så, skapa /data katalog enligt följande:

$ sudo mkdir -v / data


För att montera Btrfs-filsystemet som skapats på / dev / mapper / datalagringsenhet i /data katalog, kör följande kommando:

$ sudo mount / dev / mapper / data / data


Som du kan se skapade Btrfs-filsystemet på den krypterade lagringsenheten sdb är monterad i /data katalog.

$ sudo btrfs filsystemshow / data

Montera automatiskt krypterat Btrfs-filsystem vid starttid

Du kan också montera det krypterade Btrfs-filsystemet vid start.

För att montera det krypterade Btrfs-filsystemet vid starttid måste du:

Hitta först UUID för sdb krypterad lagringsenhet med följande kommando:

$ sudo blkid / dev / sdb


Som du kan se UUID för sdb krypterad lagringsenhet är 1c66b0de-b2a3-4d28-81c5-81950434f972. Det kommer att vara annorlunda för dig. Så se till att ändra den med din från och med nu.


För att automatiskt dekryptera sdb lagringsenhet vid starttid, måste du lägga till en post för den på / etc / crypttab fil.

Öppna / etc / crypttab fil med nano textredigerare enligt följande:

$ sudo nano / etc / crypttab


Lägg till följande rad i slutet av / etc / crypttab fil om du använder en hårddisk.

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

Lägg till följande rad i slutet av / etc / crypttab fil om du använder en SSD.

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

När du är klar trycker du på <Ctrl> + X, följd av Y, och <Stiga på> för att spara / etc / crypttab fil.


Hitta nu UUID för den dekrypterade / dev / mapper / data lagringsenhet med följande kommando:

$ sudo blkid / dev / mapper / data


Som du kan se UUID för / dev / mapper / data dekrypterad lagringsenhet är dafd9d61-bdc9-446a-8b0c-aa209bfab98d. Det kommer att vara annorlunda för dig. Så se till att ändra den med din från och med nu.


För att automatiskt montera den dekrypterade lagringsenheten / dev / mapper / data i / data-katalogen vid starttid måste du lägga till en post för den på / etc / fstab fil.

Öppna / etc / fstab-fil med nano textredigerare enligt följande:

$ sudo nano / etc / fstab


Lägg nu till följande rad i slutet av / etc / fstab fil:

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

När du är klar trycker du på <Ctrl> + X, följd av Y, och <Stiga på> för att spara / etc / fstab fil.


Slutligen starta om datorn för att ändringarna ska träda i kraft.

$ sudo omstart


Den krypterade lagringsenheten sdb dekrypteras till en data lagringsenhet och data lagringsenhet är monterad i /data katalog.

$ sudo lsblk -e7


Som du kan se, Btrfs-filsystemet, som skapades på den dekrypterade / dev / mapper / data lagringsenhet är monterad i /data katalog.

$ sudo btrfs filsystemshow / data

Slutsats

I den här artikeln har jag visat dig hur du krypterar en lagringsenhet med hjälp av LUKS 2-krypteringstekniken med cryptsetup. Du lär dig också hur du dekrypterar den krypterade lagringsenheten och formaterar den med Btrfs-filsystemet också. Samt hur man automatiskt dekrypterar den krypterade lagringsenheten och monterar den vid starttid. Den här artikeln ska hjälpa dig att komma igång med Btrfs-filsystemkryptering.

Bästa spel att spela med handspårning
Oculus Quest introducerade nyligen den fantastiska idén om handspårning utan kontroller. Med ett ständigt ökande antal spel och aktiviteter som utför ...
Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...