ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.
WikiEncFS

EncFS

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

encfs-combo-400-full.jpg EncFS {en} (Encrypted Filesystem) ist eine Verschlüsselungserweiterung für Unix-artige Dateisysteme. Mit EncFS kann ein Benutzer ohne Root-Rechte innerhalb kürzester Zeit und ohne großen Aufwand vertrauliche Dateien schützen. Diese werden in versteckten und verschlüsselten Ordnern abgelegt, die mit Passwörtern gegen einen unbefugten Zugriff geschützt sind und vor Benutzung erst eingebunden werden müssen.

Der einfachen Handhabung steht allerdings auch ein Nachteil gegenüber: im Vergleich mit anderen Verschlüsselungslösungen ist EncFS relativ langsam. Mit der Möglichkeit, den verwendeten Ordner nach einer gewissen Zeitspanne der Inaktivität automatisch abzumelden, besitzt das Programm aber ein Alleinstellungsmerkmal.

Installation

Folgende Pakete müssen installiert [1] werden:

  • encfs (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install encfs 

sudo aptitude install encfs 

Anschließend den aktuellen Benutzer zur Gruppe fuse hinzufügen. Dies geschieht z.B. in einem Terminal [2]:

sudo gpasswd -a $USER fuse
newgrp fuse 

Verwendung

Terminal

Die Benutzung von EncFS im Terminal ist schnell und einfach an einem kleinen Beispiel erläutert.

Neues verschlüsseltes Verzeichnis anlegen

Mit folgendem Befehl erstellt man ein neues verstecktes Verzeichnis ~/.foobar, in dem die verschlüsselten Daten liegen sollen und ein weiteres Verzeichnis, das als Mountpoint dient. Das verschlüsselte Verzeichnis wird anschließend automatisch eingehängt und der Zugriff erfolgt über den Ordner ~/foobar.

encfs ~/.foobar ~/foobar 

Um die beiden Verzeichnisse ~/.foobar und ~/foobar zu erstellen, zweimal mit Y bestätigen (auch wenn man in der deutschen Version dazu aufgefordert wird J zu drücken! Siehe Beitrag im Forum).

Anschließend kann man zwischen "Experten-Modus", "Paranoia-Modus" und "Standard-Modus" wählen.

Bitte wählen Sie eine der folgenden Optionen:
 "x" für den Experten-Modus,
 "p" für den vorkonfigurierten Paranoia-Modus,
 etwas anderes oder eine Leerzeile wählt den Standard-Modus.
?>

"Standard-Modus" und "Paranoia-Modus" bitten lediglich um die Eingabe eines Passworts, wobei der Paranoia-Modus eine etwas stärkere Verschlüsselung und einige zusätzliche Sicherheitsfeatures bietet. Der "Experten-Modus" erlaubt den weiter fortgeschrittenen Benutzern die Art der Verschlüsselung zu wählen sowie diverse weitere Optionen zu konfigurieren.

Nach zweimaliger Eingabe des Passworts werden die Verzeichnisse dann erstellt und gemountet. Das eingehängte Verzeichnis sollte nun auf dem Desktop angezeigt werden. Ist dies nicht der Fall oder ist kein Desktop installiert, kann der Befehl

mount 

zur Erfolgsüberprüfung genutzt werden [2]. Es sollte folgende Zeile zu sehen sein:

encfs on /home/USER/foobar type fuse.encfs (rw,nosuid,nodev,default_permissions,user=USER)

Verzeichnis aushängen

EncFS nutzt das FUSE Kernel-Modul zum Ein- und Aushängen von Verzeichnissen. Daher werden diese mit folgendem Befehl ausgehängt:

fusermount -u ~/foobar 

Nun ist das Verzeichnis ~/foobar wieder leer.

Verzeichnis einhängen

Verzeichnisse werden mit dem selben Befehl eingehängt, mit dem sie auch neu erstellt werden:

encfs ~/.foobar ~/foobar 

Nach der Eingabe des Passworts ist das Verzeichnis wieder unter ~/foobar eingehängt.

Nützliche Befehlsoptionen

Wie jede Shell-Applikation bietet auch EncFS diverse nützliche Befehlsoptionen:

nützliche Befehlsoptionen
Option(en) Beschreibung
-i n oder --idle=n Diese Option ist vor allem bei der Verwendung von EncFS in Shell-Skripten sehr nützlich. Da das Verzeichnis nach n Minuten der Inaktivität aushängt wird, braucht man nicht zu befürchten, dass es einem unter dem Hintern weg gezogen wird, während man gerade darin arbeitet. Es ist daher empfehlenswert, diese Befehlsoption möglichst immer zu nutzen, um maximale Sicherheit zu gewährleisten.
--public verhält sich wie ein normales Mehrbenutzer-Dateisystem (EncFS muss als root aufgerufen werden)
-v oder --verbose gibt Debug-Nachrichten aus
--extpass=... Passworteingabe über ein externes Programm, z.B. mit Zenity
--extpass="zenity --entry --hide-text --text 'Bitte geben Sie das Passwort ein:' --title Passwort-Eingabe"
-o allow_other Option für FUSE, um anderen Benutzern Zugriff auf die entschlüsselten Daten zu geben. Weitere Infos siehe Problembehebung.

Beispielskript

Dieses Skript legt man als Administrator (mit Root-Rechten) im Ordner /usr/local/bin/ ab. So steht jedem Benutzer auf dem System über den Befehl crypton.sh ein verschlüsseltes Verzeichnis zur Verfügung:

1
2
3
4
#!/bin/bash
# Name        : crypton.sh
# Description : User script for creating and mounting encfs directories in ~/
encfs -i 1 $HOME/.encfs $HOME/encfs

Grafische Benutzeroberflächen

EncFS/cryptkeeper.png

Cryptkeeper

Wem das Ver- und Entschlüsseln der Dateien im Terminal zu kompliziert und/oder zu umständlich ist, der kann unter den Desktop-Umgebungen GNOME, Unity (auch Unity 2D-Desktop) auf das komfortable Miniprogramm (Applet) Cryptkeeper {en} zurückgreifen.

Installation

  • cryptkeeper (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install cryptkeeper 

sudo aptitude install cryptkeeper 

Verwendung

Nach erfolgreicher Installation von Cryptkeeper klickt man mit der rechte Maustaste-Taste auf ein Panel und wählt "Zum Panel hinzufügen". Dann erstellt man einen "Benutzerdefinierten Anwendungsstarter" mit dem Befehl cryptkeeper. Angaben zu Name und Kommentar sind beliebig wählbar. Nun sollte im Panel ein braunes Vorhängeschloss zu sehen sein, mit dem Cryptkeeper gestartet werden kann. Gesteuert wird das Applet danach über das Schlüsselbund-Symbol im Benachrichtigungsfeld.

Wird Cryptkeeper im Autostart eingetragen, so wird das Vorhängeschloss automatisch bei jeder Anmeldung im Panel sichtbar.

Hinweis:

Damit das Cryptkeeper-Applet unter Unity im Panel sichtbar wird, muss das Programm in eine sogenannte "Whitelist" eintragen werden. Dieses kann u.a. mit dem dconf-editor vorgenommen werden - siehe Unity/FAQ. Das Applet (Vorhängeschloss) wird erst bei der nächsten Anmeldung sichtbar.

Gnome Encfs Manager

Eine weitere grafische Oberfläche stellt der Gnome Encfs Manager {en} zur Verfügung. Da dieses Programm bisher nicht in den offiziellen Paketquellen enthalten ist, muss man zur Installation (ab Ubuntu 11.04) auf ein PPA {en} ausweichen. Wie bei Cryptkeeper erfolgt die Steuerung über ein Symbol im Benachrichtigungsfeld des Panels.

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.

KDE

Um die Passwortabfrage im Terminal zu umgehen oder die Installation zusätzlicher Pakete zu vermeiden, kann man ein Skript mit folgendem Inhalt anlegen, das die Passworteingabe über KDialog erledigt:

1
2
3
4
#!/bin/bash
#Name         :encfs_mount.sh
#Erklärung    :Bindet encfs ein und fragt das Passwort über Kdialog ab 
encfs -i 1 --extpass="kdialog --password Passwort?" ~/.foobar ~/foobar

Das Skript in den Ordner ~/bin speichern (z.B. als encfs_mount.sh) und ausführbar machen [3]. Nun kann man sich in K-Menü einen Eintrag [4] oder mit xbindkeys [5] eine Tastaturkombination anlegen.

Zusätzlich existiert ein Werkzeug für KDE: KEncFS {en} . Ein Paket für Ubuntu 11.04 kann heruntergeladen werden, für andere Ubuntu-Versionen muss man es selbst aus dem Quelltext kompilieren [6].

Problembehebung

Ubuntu 10.04

Aufgrund von Änderungen der Bibliothek libboost können mit Ubuntu 10.10 (oder neuer) verschlüsselte Ordner nicht mit Ubuntu 10.04 (oder älter) geöffnet werden.

Passwort ändern

Mit dem Befehl

encfsctl passwd ~/.foobar 

kann man das Kennwort der verschlüsselten Ordners ändern. Weitere Informationen enthält die Manpage zu encfsctl.

Fehlermeldung, z.B. "Keine Berechtigung"

EncFS basiert auf FUSE, wobei per Default nur der aktuelle User Zugriff auf die entschlüsselten Daten hat. Sollen andere User oder aber auch anderer Prozesse wie Samba oder TrueCrypt Zugriff auf die entschlüsselten EncFS Daten haben, muss die FUSE Option -o allow_other in der encfs Befehlszeile mit angegeben werden. Vorraussetzung hierfür ist eine vorherige Änderung der /etc/fuse.conf wie im Artikel FUSE Optionen genau beschrieben wird.

Beispiel für einen encfs Befehl mit der FUSE Option allow_other:

encfs -o allow_other ~/.foobar ~/foobar 

Fehlt diese Option, bekommt man eine Fehlermeldung, beispielsweise "Keine Berechtigung" oder "Error: Permission denied:".

Die Fehlermeldung erscheint auch, wenn sich der Stash auf einem verschlüsselten Heimverzeichnis befindet und vor einem Logout/Login ohne Neustart nicht ausgehängt wird.

ubuntuusers.local › WikiEncFS