Verzeichnis verschlüsseln mit GoCryptFS

Do, 6. Oktober 2022, Ralf Hersel

Vorgestern habe ich beschrieben, wie man ein Verzeichnis mit EncFS verschlüsseln kann. Ein aufmerksamer Leser (Fryboyter) hat im Kommentar unter dem Artikel darauf hingewiesen, dass EncFS seit einigen Jahren nicht mehr gepflegt wird und ausserdem mit Sicherheitsproblemen zu kämpfen hat. Stattdessen solle man besser gocryptfs verwenden. Gesagt, getan.

Die Funktionsweise von GoCryptFS ist sehr ähnlich wie bei EncFS; es gibt jedoch ein paar kleine Unterschiede. Ich finde das CLI weniger intuitiv wie das von EncFS, was aber keine grosse Rolle spielt, weil man das weg-skripten kann. Neben der Aktualität bei der Entwicklung und der besseren Sicherheit empfehle ich GoCryptFS auch wegen der höheren Geschwindigkeit.

Und so geht es:

GoCryptFS ist eurem Software-Store bekannt und lässt sich daraus installieren. Im Gegensatz zu EncFS müsst ihr die beiden Verzeichnisse selbst erzeugen, zum Beispiel mit:

mkdir ~/.tresor ~/tresor

Dann möchte das verschlüsselte Verzeichnis initialisiert werden:

gocryptfs -init ~/.tresor

Choose a password for protecting your files.
Password: 
Repeat: 
Your master key is:
    13596b3c-gnu584cc-linuxb4b-ch044110-
    c358f57d-4281b5cc-d0dcfd91-5b82c9ee
If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs filesystem has been created successfully.
You can now mount it using: gocryptfs .tresor MOUNTPOINT

Bevor ihr geheime Dateien in das Verzeichnis tresor kopieren könnt, muss dieses zuerst gemounted werden:

gocryptfs .tresor tresor

Password: 
Decrypting master key
Filesystem mounted and ready.

Möchtet ihr den Tresor wieder zuschliessen, erfolgt das mit diesem Kommando:

fusermount -u tresor

Ihr seht, was ich meine: Das geht bei EncFS alles ein klein wenig einfacher. Um die Bedienung komfortabler zu machen, bauen wir wieder eine Funktion in die Shell-Konfiguration ein. Dazu schreibt ihr in eure .bashrc, .zshrc (oder so) diese paar Zeilen Code:

function tresor() {
    mount | grep tresor >/dev/null
    if [ $? -ne 0 ]; then
              echo "opening tresor"
              gocryptfs ~/.tresor ~/tresor
              cd ~/tresor
    else
              echo "closing tresor"
              fusermount -u ~/tresor
              cd
    fi
    }

Nun könnt ihr mit der Eingabe von tresor im Terminal, das verschlüsselte Verzeichnis auf- oder zuschliessen. Statt des Namens tresor, könnt ihr selbstverständlich jeden anderen Verzeichnisnamen verwenden. Achtet dann aber darauf, dass im Skript dieser Name verwendet wird. Ausserdem lohnt sich ein Blick auf die Projektseite von GoCryptFS, weil sich dort noch viele weitere Funktionen finden.

Wer es unbedingt braucht, erhält mit gocryptfs-ui auch einen GUI-Wrapper für das Werkzeug:

Quelle: https://nuetzlich.net/gocryptfs/

Tags

Verzeichnis, verschlüssen, Sicherheit, gocryptfs