it-swarm.com.de

Wie erstelle ich ein verschlüsseltes Dateisystem in einer Datei?

Ich habe dieses interessante Tutorial auf Flossstuff Blog gefunden.

Es wird erklärt, wie Sie eine leere Datei erstellen, als ext4 formatieren und als Gerät einbinden.

Ich möchte wissen, ob es als verschlüsseltes ext4-Dateisystem erstellt werden kann.

Ich habe versucht, das bereits erstellte Dateisystem mit palimpsest (dem Festplatten-Dienstprogramm im System-Menü) zu formatieren, aber es funktioniert nicht, da es das verwendete Dateisystem erkennt.

Wenn ich versuche, das Dateisystem abzuhängen, funktioniert dies auch nicht, da das Gerät nicht erkannt wird (da es sich nicht um ein echtes Gerät wie eine Festplatte oder ein USB-Laufwerk handelt).

Meine Frage ist also, gibt es eine Option, um das Dateisystem von Anfang an verschlüsselt zu erstellen? Ich habe diese Befehle verwendet:

Erstellen Sie eine leere Datei mit einer Größe von 200 MB:

dd if=/dev/zero of=/path/to/file bs=1M count=200

Mach es ext4:

mkfs -t ext4 file

Hänge es in einen Ordner in meinem Zuhause:

Sudo mount -o loop file /path/to/mount_point

Gibt es eine Möglichkeit, mit dem Befehl mkfs ein verschlüsseltes ext4-Dateisystem zu erstellen, das nach einem Entschlüsselungskennwort fragt?

Ich plane, dies als eine Möglichkeit zum Verschlüsseln von Dateien in Dropbox zu verwenden.

15

Sie können cryptmount verwenden, um ein Dateisystem zu verschlüsseln, auch wenn sich das Dateisystem in einer Datei befindet.

Die cryptmount -Handbuchseite enthält eine sehr einfache und detaillierte Erklärung, die ich hier berichte (modifiziere), und erwähnt ausdrücklich ein dateibasiertes Dateisystem.

  • Schritt 1
    Fügen Sie einen Eintrag in /etc/cryptmount/cmtab wie folgt hinzu:

    mycrypt {
        dev=/media/data/mycrypt dir=/home/enzotib/mycrypt
        fstype=ext4 mountoptions=defaults cipher=twofish
        keyfile=/etc/cryptmount/mycrypt.key
        keyformat=builtin
    }
    

    dabei ist /media/data/mycrypt die von dd erstellte Unterstützungsdatei und /home/enzotib/mycrypt der gewünschte Einhängepunkt.

  • Schritt 2
    Generieren Sie einen geheimen Entschlüsselungsschlüssel

    Sudo cryptmount --generate-key 32 mycrypt
    
  • Schritt 3
    Führen Sie den folgenden Befehl aus

    Sudo cryptmount --prepare mycrypt
    

    sie werden dann nach dem Kennwort gefragt, das Sie beim Einrichten des Schlüssels verwendet haben

  • Schritt 4
    Erstelle das Dateisystem

    Sudo mkfs.ext4 /dev/mapper/mycrypt
    
  • Schritt 5
    Ausführen

    Sudo cryptmount --release mycrypt
    
  • Schritt 6
    Hängen Sie nun das Dateisystem ein

    mkdir /home/enzotib/mycrypt
    cryptmount -m mycrypt
    

    dann hängen Sie es aus

    cryptmount -u mycrypt
    

Wenn Sie ein Verzeichnis verschlüsseln müssen, sollte encfs in Betracht gezogen werden.

8
enzotib

Befolgen Sie die nächsten Schritte, um eine verschlüsselte Datei mit dem Dateisystem darin zu erstellen:

1. Der schnellste Weg, eine Datei mit einer bestimmten Größe zu erstellen, ist:

fallocate -l 128M /path/to/file

2. Erstellen LUKS ( Linux Unified Key Setup) Partition innerhalb der Datei mit dm-crypt Tools:

cryptsetup -y luksFormat /path/to/file

Sie können überprüfen, ob die Datei ein verschlüsselter Container ist:

/path/to/file: LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 7e2af5a1-3fab-43ea-a073-3b9cc6073f00

3. Verschlüsselten Container öffnen:

cryptsetup luksOpen /path/to/file data

data ist der Name des Device-Mapper-Volumes. Sie können einen anderen Namen wählen.

Dadurch wird das LUKS-Gerät geöffnet und einem von uns angegebenen Namen zugeordnet. In unserem Fall wird eine Datei unter /dev/mapper/data erstellt.

4. Erstelle ext4 Dateisystem auf diesem Gerät:

mkfs.ext4 /dev/mapper/data

5. Erstellen Sie dann einen Einhängepunkt:

mkdir /path/to/mount

6. Und montiere das Gerät dort:

mount /dev/mapper/data /path/to/mount

7. Um das Dateisystem abzuhängen und das LUKS-Gerät zu schließen:

umount /path/to/mount
cryptsetup luksClose data

Jetzt haben Sie den LUKS-Container mit dem darin enthaltenen ext4-Dateisystem verschlüsselt. Wenn Sie es verwenden möchten, wiederholen Sie einfach die Schritte 3 und 6. Wenn Sie fertig sind, rufen Sie Schritt 7 auf.

Dieser Artikel war sehr hilfreich für mich.

Auch eines Tages wird Ihr Container keinen Platz mehr haben. Angenommen, die Größe der verschlüsselten Container-Datei beträgt 128 MB und wir möchten sie auf 512 MB erhöhen. Gehen Sie folgendermaßen vor, um die Kapazität zu erhöhen :

1. Hängen Sie das LUKS-Gerät aus und schließen Sie es (siehe Schritt 7 in der obigen Liste).

2. Erhöhen Sie die Größe der Container-Datei:

 dd if=/dev/zero of=/path/to/file bs=384M count=1 oflag=append conv=notrunc

3. Öffnen Sie das LUKS-Gerät.

cryptsetup luksOpen /path/to/file data

4. Passen Sie die Größe des LUKS-Geräts an die Größe der Container-Datei an. Aus der Manpage:

Wenn --size (in Sektoren) nicht angegeben ist, wird die Größe des zugrunde liegenden Blockgeräts verwendet.

Sie können also einfach:

cryptsetup resize data

5. Ändern Sie dann die Größe des ext4-Dateisystems:

e2fsck -f /dev/mapper/data
resize2fs /dev/mapper/data

6. Jetzt können Sie das Dateisystem wieder einhängen:

mount /dev/mapper/data /path/to/mount
5
mixel

Sie können den Befehl losetup mit dem Parameter - e verwenden, um ein Gerät mit verschlüsselter Schleife zu erstellen. Details finden Sie unter http://tldp.org/HOWTO/Cryptoloop-HOWTO/loopdevice-setup.html

3
Mathieu