Verschlüsseltes Verzeichnis in Ubuntu One mit ecryptfs
Folgendes Szenario: Ich will ein oder mehrere Verzeichnisse im Ordner von Ubuntu One mit ecryptfs verschlüsseln. Ich habe eine Weile nach einer Lösung gesucht und möchte diese nun hier vorstellen.
Die Lösung war gar nicht so einfach, wie ich anfangs dachte. Denn ich nutze ecryptfs bereits für einen privaten Ordner. Dies ist in neueren Ubuntu-Versionen sehr einfach und wird in mehreren Tutorials gut beschrieben (z.B. von Bodhi). Man kann ein solches „Private”-Verzeichnis unter Ubuntu sehr einfach mit dem Befehl ecryptfs-setup-private erstellen. Das verschlüsseltes Verzeichnis wird dann automatisch beim Einloggen verbunden und ist somit komfortabel zu bedienen.
Leider liegt der verschlüsselte Ordner unter ~/.Private und Ubuntu One unter ~/Ubuntu One. Man könnte natürlich den privaten Ordner einfach nach Ubuntu One verschieben und eine symbolische Verknüpfung anlegen, aber ich will nur einige Dateien auf Ubuntu One ablegen, nicht alle.
Ziel ist es also, einen weiteren Ordner wie ~/.Private zu erstellen und am besten automatisch mountbar zu machen. Einen guten Einstieg dazu bietet meiner Meinung nach ein Blog-Eintrag von iamroot.eu. Hier wird die Verschlüsselung eines beliebigen Verzeichnisses beschrieben und wie man es in das fstab-Verzeichnis einbindet.
Unter Ubuntu sind die notwendigen Anmeldeeinstellungen für pam bereits eingerichtet. Um also ein weiteres Verzeichnis freizuschalten benötigt man lediglich das Passwort des ~/.Private-Verzeichnisses. Dieses wird mit dem Loginpasswort verschlüsselt und liegt in der Regel unter ~/.ecryptfs/wrapped-passphrase. Dieses bekommt beim Erstellen des Private-Verzeichnisses mit ecryptfs-setup-private mitgeteilt und sollte an einem sicheren Ort aufbewahrt werden, falls man die Daten einmal retten muss. Das selbe Passwort kann man für den neuen Ordner verwenden (klar ist das unsicherer...).
Legen wir also los und erstellen zunächst die benötigten Ordner:
mkdir ~/Ubuntu\ One/encrypted
mkdir ~/Ubuntu\ One\ Sicher
Man kann natürlich eigene Ordnernamen wählen. Der sichere Ordner muss sich logischerweise unter dem Ubuntu One-Verzeichnis befinden, damit er repliziert werden kann.
Nun mounten wir den Ordner:
sudo mount -t ecryptfs ~/Ubuntu\ One/encrypted ~/Ubuntu\ One\ Sicher
Wichtig ist nun, dass man genau das selbe Passwort verwendet, das bei der Erstellung des ~/.Private-Ordners erstellt wurde (nicht das eigene Login-Passwort, sondern eines mit einer langen Zahl). Man kann auch die Dateinamenverschlüsselung einschalten, wenn man will.
Hat das Einhängen des verschlüsselten Verzeichnisses geklappt (mehr dazu auf iamroot.eu), kann man mit cat /etc/mtab den Mount-Eintrag auslesen. Dieser sollte so ähnlich aussehen wie:
/home/user/Ubuntu\040One/encrypted /home/user/Ubuntu\040One\040Sicher ecryptfs rw,noexec,nosuid,nodev,ecryptfs_sig=4821726c1947cdf3,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_fnek_sig=4821726c1947cdf3,ecryptfs_unlink_sigs 0 0
Die Einträge unter ecryptfs_sig und ecryptfs_fnek_sig sollten sich von den hier gezeigten unterscheiden! Den Eintrag kann man als eine Zeile komplett in die Datei /etc/fstab übernehmen. Man sollte vor rw lediglich noch noauto,nuser, hinzufügen (ohne Leerzeichen). Damit kann man als Benutzer später die Einstellung mounten.
Das ganze kann man probieren, indem man zunächst eine sudo umount ~/Ubuntu\ One\ Sicher ausführt und dann als Benutzer ein mount -i ~/Ubuntu\ One\ Sicher. Dies sollte ohne Rückmeldung des Rechners klappen.
Nun fehlt nur noch das automatische Einbinden des verschlüsselten Verzeichnisses beim Einloggen. Das lässt sich mit einem entsprechenden Skript bewerkstelligen, das mount -i ~/Ubuntu\ One\ Sicher aufruft. Ich tüftle selbst noch an einer guten Lösung...
- 2 Kommentare
Sieht gut aus, funktionmiert aber so nicht
$ mount -i ~/Ubuntu\ One\ Sicher
mount: nur „root“ kann /home/alex/Ubuntu One/encrypted auf /home/alex/Ubuntu One Sicher einhängen
$ sudo mount -i ~/Ubuntu\ One\ Sicher
mount: Datei oder Verzeichnis nicht gefunden
$ ls ~/Ubuntu\ One\ Sicher
existiert!
Re: Sieht gut aus, funktionmiert aber so nicht
Nun ja, ein wenig herumprobieren muss man manchmal schon :-)
Versuche es mal mit /home/[benutzer]/Ubuntu\ One\ Sicher.
Max.