Ohne großen Aufwand lassen sich mit GoCryptFS – ein in Go-geschriebenes Open-Source Konsolen-Tool – Verzeichnisse samt Inhalt sicher verschlüsseln. Sensible Daten werden damit vor unerwünschtem Zugriff geschützt, ohne dass dies die Performance sonderlich beeinträchtigt. Von Vorteil ist die simple, aber recht wirkungsvolle Anwendung.
GoCryptFS ist allerdings nicht für den Verschlüsselungsprozess von Systemdateien oder etwa des -Datenträgers gedacht – sondern „lediglich“ der Benutzerdaten.
Installation
Das Terminal-Programm ist in den Repo’s der meisten Distributionen verfügbar. Für Debian und darauf basierende Linux-Distributionen führen Sie folgenden Befehl aus:
sudo apt install gocryptfs
In Solus verwenden Sie:
sudo eopkg install gocryptfs
Über die Projektseite lässt sich auch eine grafische Oberfläche installieren – die aber mehr hinderlich als nützlich erscheint. Die nachfolgende Beschreibung belegt die – nach kurzer Einrichtung – sehr einfache Handhabung via Terminal.
Anwendung
Die beiden folgenden Schritte – das Erstellen des Container-Verzeichnisses und das Setzen des Passwortes zum Öffnen bedarf es nur einmalig.
Der Befehl – als normaler Benutzer:
mkdir ~/.tresor ~/tresor

erzeugt je einen Ordner sowie einen „versteckten“ Ordner mit der gleichen Bezeichnung – der Einfachheit halber passend mit „tresor“ im Home-Verzeichnis.

Das neue Verzeichnis muss noch initialisiert werden:
gocryptfs -init ~/.tresor
Vergeben Sie ein sicheres Passwort und bestätigen Sie es nochmals. Sie erhalten im Terminal einen „master key“. Kopieren Sie diesen am besten in eine Textdatei und drucken ihn aus. Dieser wird benötigt, sollten Sie Ihr Passwort mal vergessen oder einfach nicht mehr funktionieren.

Bevor Sie Ihre sensiblen Dateien in das Verzeichnis tresor ablegen können, muss dieses zuerst gemounted werden:
gocryptfs .tresor tresor

Das geschützte Verzeichnis ist nun bereit…

…um Daten wie gewohnt aufzunehmen, kopieren, verschieben, löschen usw. …

Nach getaner Arbeit lässt sich der Tresor wieder schließen:
fusermount -u tresor

Die Bedienung können wir noch etwas komfortabler gestalten. Dazu integrieren wir eine Funktion in die Shell-Konfiguration. Das hört sich komplizierter an, als es tatsächlich ist. Suchen Sie die versteckte Text-Datei .bashrc – in einigen Distributionen auch mit .zshrc bezeichnet…

… öffnen diese in einem Texteditor und fügen am Ende des Dokumentes folgenden Inhalt ein:
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
}
Im Original sieht das in etwa so aus:

Speichern Sie nun das Dokument und schließen nun alle geöffneten Fenster. Melden Sie sich vom System ab und erneut an.
Ab sofort reicht die Eingabe von:
tresor
im Terminal und bestätigter Passwortphrase…

…um den verschlüsselten Container zu öffnen und später zum Beenden erneut die Eingabe von:
tresor
…um diesen wieder zu schließen…

USB-Laufwerke verschlüsseln
Selbstverständlich ist es auch möglich, Verzeichnisse auf USB-Sticks (oder diesen komplett) zu verschlüsseln. Hier müssen lediglich die Pfade angepasst werden.
Als Beispiel dient ein USB-Stick mit Laufwerksbezeichnung „GEHEIM“.
Folgende Syntax erstellt die Verzeichnisse, zum einem das versteckte im Home-Verzeichnis, sowie zum anderen den kompletten USB-Stick markieren:
mkdir ~/.geheim /media/user/GEHEIM
Das Verzeichnis initialisieren:
gocryptfs -init ~/.geheim
Den verschlüsselten Stick mounten:
gocryptfs .geheim /media/user/GEHEIM
Den verschlüsselten Stick wieder abmelden:
fusermount -u /media/user/GEHEIM
Damit auf dem verschlüsselten Stick auch von anderen Geräten zugegriffen werden kann, muss auch hier GoCryptFS installiert – sowie die Verzeichnisse erstellt und initialisiert sein.
Eine zusätzliche angepasste Funktion in die Shell-Konfiguration erleichtert zudem das Handling.
Abschließende Bemerkung
Statt des Platzhalters tresor, kann selbstverständlich jeder andere Verzeichnisname verwendet werden. Es ist aber dann zu beachten, dass im Skript dieser Name ersetzt und verwendet wird – ebenso bei den entsprechenden Befehlen im Terminal.
Verwenden Sie für die unterschiedlichen Befehle jeweils ein neues Terminal-Fenster.
Achten Sie darauf, dass jeweilige Datei-Operationen abgeschlossen sind, bevor Sie den „Tresor“ schließen.
2 Reaktionen
Gut, dass es bei Linux oft viele Wege zum Ziel gibt. Allerdings finde ich das Handling von VeraCrypt zumindest auf den ersten Blick besser, es lässt sich nämlich selbst für Anfänger leicht über eine graphische Benutzeroberfläche steuern. Mir ist der Vorteil von GoCryptFS gegenüber VeraCrypt nicht ganz klar. Bei VeraCrypt kann ich die verschlüsselten Container auf DVD brennen oder auf externe Festplatten kopieren. Stichwort: Backup. Geht das mit GoCryptFS auch? Und genauso einfach?
Hallo @Calabi-Yau,
GoCryptFS ist eigentlich dafür gedacht, unkompliziert und relativ schnell ein sicheres, verschlüsseltes Verzeichnis auf dem Linux-System zu erstellen, um hier sensible Daten abzulegen.
In so manchen Fällen sind Tools wie VeraCrypt oder KeePassXC usw. einfach überdimensioniert mit Funktionen die nicht jeder braucht.
Im Gegensatz zu anderen Tools ist hier eine GUI zwar optional erhältlich, aber nicht unbedingt erforderlich. Einmal eingerichtet, wie oben beschrieben, geht das Ver- und Entschlüsseln über das Terminal ziemlich flott. Im Prinzip kann man die verschlüsselten Verzeichnisse o.a. Container auf andere Datenträger kopieren und aufbewahren. Möchte man auf einem anderen System entschlüsseln, bedarf es ein installiertes GoCryptFS.
Ich habe den Beitrag erweitert mit dem Zusatz, wie man einen USB-Stick mit GoCryptFS verschlüsselt.