====== Allgemein ======
Um Dateien nicht für jedermann zugänglich zu machen können diese verschlüsselt werden. Solange es sich um einzelne Dateien handelt ist dies mit Programmen wie z.B. GnuPG oder OpenSLL (siehe [[Datei verschlüsseln]]) recht gut möglich. Will man jedoch eine Vielzahl Dateien verschlüsseln und transparent darauf zugreifen ist GnuPG nicht mehr so praktisch da man jede Datei einzeln entschlüsseln und wieder verschlüsseln muss. In diesem Fall ist eine transparente Verschlüsselung hilfreich. **geli** ermöglicht es Partitionen transparent zu verschlüsseln. Wendet man es auf eine Imagedatei an kann man somit verschlüsselte Images erzeugen die dann z.B. auf einem Webserver abgelegt werden können.
====== GELI laden ======
Damit GELI beim Systemstart geladen wird muss folgende Zeile in die /boot/loader.conf hinzugefügt werden:
geom_eli_load="YES"
====== Leere Imagedatei anlegen ======
Um nun eine leere Imagedatei auf der Festplatte anzulegen wird per **dd** eine leere Datei erzeugt (in diesem Fall 1GB Größe):
% dd if=/dev/zero of=crypt.img bs=512 count=2004992
===== Datei als Device einbinden =====
Um auf der Datei arbeiten zu können wie auf einem echten Datenträger muss sie als Device eingebunden werden. Dies wird über den Weg einer Memorydisk mittels **mdconfig** erledigt:
# mdconfig -f crypt.img
md0
Das erzeugte Device heißt also **md0** und sollte nun unter ///dev// zu finden sein.
====== Master-Key anlegen ======
Nun wird eine Schlüsseldatei angelegt mit welcher das Image dann verschlüsselt wird.
% dd if=/dev/random of=crypt.key bs=64 count=1
====== GELI initialisieren ======
Nun muss GELI noch das Device initialisieren.
# geli init -s 4096 -K crypt.key /dev/md0
Anschliessend muss noch zwei mal das zum Verschlüsseln zu verwendende Passwort eingegeben werden.
====== GELI-Provider aktivieren ======
Um das Ganze nun zu aktivieren wird folgend vorgegangen:
# geli attach -k crypt.key /dev/md0
Hiermit wurde das unverschlüsselte Device /dev/md0.eli erzeugt.
====== Dateisystem erzeugen ======
Das neue Image muss nun noch mit einem Dateisystem gefüllt werden.
# dd if=/dev/random of=/dev/md0.eli bs=1m
# newfs /dev/md0.eli
Um das Device nun in /crypt zu mounten muss nur noch folgender Befehl abgesetzt werden:
# mount /dev/md0.eli /crypt
Das Device kann nun normal verwendet werden.
====== Device auswerfen ======
Zunächst wird das Laufwerk unmouned. Dies geschieht mit:
# umount /crypt
Anschliessend muss noch der GELI-Provider ausgeworfen werden. Hierdurch wird der entschlüsselte Zugriff beendet.
# geli detach md0.eli
Endgültig muss noch die Datei aus der Deviceliste ausgeworfen werden:
# mdconfig -d -u md0