Die sicherere Verschlüsselung vertraulicher Daten ist im Unternehmensumfeld meist Pflicht, um Auflagen der IT-Compliance zu erfüllen. Aber auch die Vorstellung, dass wichtige Daten auf einem privat genutzten Laptop mit dem Verlust des Geräts in fremde Hände fallen, ist nicht angenehm. Die aktuellen Linux-Distributionen wie Ubuntu 22.04 bieten bei der Einrichtung über Cryptsetup/Luks eine Komplettverschlüsselung des Systems an.
Diese Methode gilt als sehr sicher, ist aber nicht ohne Einschränkungen: Auf Linux-Systemen, die auch Serverrollen erfüllen und unbeaufsichtigt booten sollen, ist die Luks-Systemverschlüsselung nicht praktikabel. Denn beim Systemstart muss jemand zugegen sein, um das Passwort zur Entschlüsselung der Partitionen einzugeben.
Zudem ist dieses Passwort für alle Anwender auf dem System gleich. Für eine individuelle Verschlüsselung ist diese Methode also nicht geeignet.
Lesetipp: Warum Linux sicherer ist als Windows
Gocrypt FS und Fuse: Ein neuer Ansatz
Ein alternativer Weg, der jenem von Ecrypt FS ähnelt, der bis Ubuntu 18.04 für die Verschlüsselung von Home-Verzeichnissen sorgte, ist Gocrypt FS.
Gocrypt FS ist ein ausgereiftes, in Go geschriebenes Tool zur Erstellung verschlüsselter Dateisysteme über das Kernel-Modul „File System In Userspace“ (Fuse). Die Einrichtung ist in Debian/Ubuntu mit wenig Aufwand erledigt, denn es finden sich bei diesen Distributionen alle Zutaten in den Standard-Paketquellen.
Zudem gibt es schon ein Grundgerüst zur automatischen Entschlüsselung bei der Anmeldung über die Konfiguration von PAM (Pluggable Authentication Modules), die sich unter Linux um die Delegation von Log-in-Informationen an die verschiedenen Systemkomponenten kümmert.
Gegenüber Ecrypt FS, das Linux Mint 21 weiterhin verwendet, hat Gocrypt FS den Vorteil, in aktiver Entwicklung zu sein und weniger Bugs zu haben.
Zwei leicht verschmerzbare Minuspunkte gibt es, die nicht verschwiegen werden sollen:
- So wie auch Ecrypt FS wird das verschlüsselte Home beim Abmelden eines Benutzers nicht ausgehängt, sondern nur bei einem Neustart.
- Zweitens ist Gocrypt FS im Vergleich zu Luks-Partitionen langsamer bei den Datenträgerzugriffen, weil es sich um ein Fuse-Dateisystem handelt.
Vorbereitung und Installation

Den neuen Ordner vorbereiten: Dafür ist ein separates Benutzerkonto mit sudo-Berechtigungen nötig. Gocrypt FS zeigt einmalig einen Wiederherstellungsschlüssel für Notfälle an.
IDG
In wenigen Handgriffen ist ein verschlüsseltes Home in Debian/Ubuntu eingerichtet. Aus den Paketquellen installiert zunächst das Kommando
sudo apt install gocryptfs libpam-mount
die benötigten Pakete. Gocrypt FS übergibt die Anlage eines verschlüsselten Home zunächst dem Administrator. Das Paket „libpam- mount“ ist dabei das Bindeglied zwischen dem Log-in als Benutzer und der Entschlüsselung des Home-Verzeichnisses per Mountbefehl, Fuse und Gocrypt FS.
Nach der Installation dieser Pakete geht es auch schon an die Erstellung des verschlüsselten Ordners für einen neu angelegten User, welcher hier im Beispiel „benutzer“ heißen soll. Es ist nicht möglich, von einem Benutzerkonto den eigenen Ordner zu verschlüsseln, dafür ist immer ein zweiter User mit sudo-Privilegien oder root nötig. Zuerst wird das vorhandene Home-Verzeichnis des abgemeldeten Benutzers mit allen seinen Dateien im Terminal in einen temporären Ordner verschoben
sudo mv /home/benutzer /home/benutzer.tmp
und ein neues, später verschlüsseltes Verzeichnis angelegt:
sudo mkdir /home/benutzer.enc
Dieser Ordner wird nun verschlüsselt und später nach der Anmeldung nach „/home/ benutzer“ unverschlüsselt eingehängt.
Um den Ordner vorzubereiten, dient folgender Befehl:
sudo gocryptfs -init /home/benutzer.enc
Gocrypt FS fragt nun das gewünschte Passwort ab, das identisch mit dem Systemkennwort von „benutzer“ sein muss. Gocrypt FS legt eine JSON-Datei mit dem Password-Hash im Ordner ab und zeigt zur späteren Entschlüsselung im Falle eines vergessenen Kennworts auch einmalig einen Generalschlüssel an, den man unbedingt sicher verwahren sollte. Nun erstellen die folgenden beiden Kommandos
sudo mkdir /home/benutzer
sudo gocryptfs /home/benutzer.enc /home/benutzer
das neue, leere Verzeichnis „/home/benutzer“ als Einhängepunkt und hängen dort den entsperrten Gocrypt-FS-Ordner ein. Aus dem zuvor erstellten temporären Home-Verzeichnis kopiert dann
sudo cp -rT /home/benutzer.tmp /home/benutzer
alle Dateien rekursiv zurück ins neue Home, wobei Gocrypt FS alles chiffriert speichert.
Damit alles wieder dem „benutzer“ gehört, ist die Rechteanpassung mit
sudo chown -R benutzer:benutzer /home/benutzer /home/benutzer.enc
nötig und ein Aushängen des neuen Home-Verzeichnisses, das anschließend auch zusammen mit dem temporären Ordner gelöscht wird:
sudo fusermount -u /home/benutzer
sudo rm -r /home/benutzer
Keine Sorge: Bei einer Anmeldung wird es aus dem verschlüsselten Ordner auf dem Datenträger von Gocrypt FS neu erzeugt.
PAM: Ein Regelwerk für Gocrypt FS
Nun ist nochmal Aufmerksamkeit verlangt. Denn das Home von „benutzer“ ist vorbereitet und soll künftig nach der Anmeldung des Users gleich entschlüsselt an Ort und Stelle sein. Das verlangt zwei Anpassungen in Konfigurationsdateien. Einmal in der Datei „/etc/fuse.conf“, in welcher das Kommentarzeichen (#) vor der letzten Zeile
user_allow_other
entfernt wird und danach nicht nur root den Zugriff auf das neue Home erlaubt. Die zweite Änderung betrifft das anfangs installierte Modul „libpam-mount“ von PAM, das seine Einstellungen aus der Datei „/etc/security/pam_mount.conf.xml“ bezieht. In diese Datei, die mit root-Rechten oder vorangestellten „sudo“ in einem Texteditor geöffnet wird, kommt nun, genau vor dem abschließenden Tag „“ diese Definition in eine durchgehende Zeile:
<volume user="benutzer" fstype="fuse" options="nodev,nosuid,quiet,nonempty,allow_other" path="/usr/bin/gocryptfs#/home/%(USER).enc" mountpoint="/home/%(USER)"/>
Ab jetzt funktioniert die Anmeldung des Benutzers „benutzer“ über die Konsole oder den grafischen Displaymanager und hängt über das gegebene Anmeldepasswort das Home-Verzeichnis unverschlüsselt ein.

Eingehängt und entschlüsselt: Die Ausgabe des Befehls „mount“ zeigt, dass PAM den Ordner „/home/benutzer. enc“ automatisch nach dem Log-in verfügbar gemacht hat.
IDG
Soll auf dem System ein weiterer Benutzer ein verschlüsseltes Home bekommen, dann sind alle Schritte mit dem anderen Usernamen nochmal auszuführen. Für jeden Benutzer ist auch wieder eine Zeile in der Datei „/etc/security/pam_mount.conf.xml“ hinter „user=“ erforderlich.
Pro & Contra
- + automatische Entschlüsselung bei der Anmeldung
- + verwendet kein systemweites Passwort
- + wenig Aufwand in Debian/Ubuntu
- + Weniger Bugs als das eingestellte Ecrypt FS
- – manuelle Einrichtung zu Beginn erforderlich
- – Gocrypt FS ist langsamer als Cryptsetup/ Luks
- – Gocrypt-FS-Ordner wird nicht automatisch ausgehängt