Wie bereits erwähnt, ist ecryptfs keine Lösung für mein Problem, da mein Home-Ordner bereits von ecryptfs verschlüsselt ist. Das Verschieben des Ordners "Ubuntu One" aus dem Home-Baum ist ebenfalls keine Lösung, da der Rest des Inhalts von "Ubuntu One" nicht mehr verschlüsselt ist.
Ich habe mich stattdessen für EncFS entschieden. Das Einrichten eines verschlüsselten Ordners ist ziemlich einfach. Aber wie kann es automatisch gemountet werden, damit Anwendungen damit Konfigurationsdateien speichern können? Es gibt einige Lösungen:
- pam_mount
- gnome-encfs
- autofs
- afuse
Ich mag Idee 1 nicht, weil ich nicht dasselbe Passwort für EncFS verwenden möchte wie mein Login-Passwort.
Lösung 2 Ich mag es einerseits nicht, weil für Ubuntu kein passendes Paket verfügbar ist, und andererseits möchte ich nicht, dass der EncFS-Ordner erst direkt nach dem Anmelden bereitgestellt wird. Wenn etwas fehlschlägt oder der Ordner jedes Mal nicht bereitgestellt wird Der nachfolgende Zugriff schlägt fehl.
Lösung 3 funktioniert einfach nicht. Ich verwende seit einiger Zeit Autofs, um CIFS-Freigaben und -Ordner über sshfs bereitzustellen, aber EncFS wird einfach nicht unterstützt. Ich habe mit mehreren Skripten herumgespielt, um EncFS durch Autofs zu mounten, aber das wurde zu komplex und fehleranfällig.
Was ich derzeit verwende, ist Lösung 4. Afuse ist als passendes Paket verfügbar. Afuse stellt den EncFS-Ordner automatisch bereit, sobald auf den Ordner zugegriffen wird, und hebt ihn nach einiger Leerlaufzeit wieder auf.
Hier sind die schnellen Schritte zum Einrichten (möglicherweise füge ich in Zukunft einige Details hinzu):
- Installieren Sie eine Sicherung
- Erstellen Sie den Ordner "Ubuntu One", um den verschlüsselten Inhalt zu speichern
Beispiel:
~ / Ubuntu \ One / .encrypted
- Erstellen Sie einen Ordner als obersten Ordner, in dem Sie Ordner einbinden können
Beispiel:
~ / .fuse
- Erstellen Sie einige Hilfsskripte
- Erstellen Sie einen Autostart-Eintrag in Gnome, um afuse zu starten
Der unverschlüsselte EncFS-Ordner wird unter ~ / .fuse gemountet. In meinem Fall heißt der Ordner mit dem unverschlüsselten Inhalt U1Enc, daher bleiben alle Daten in ~ / .fuse / U1Enc. Zur Vereinfachung habe ich einen Link von ~ / U1Enc zu ~ / .fuse / U1Enc erstellt, um leichter dorthin zu gelangen.
Die Ideen und Hilfsskripte, die ich auf mehreren Websites gefunden habe. Hier kommen die Links:
Automatisches Bereitstellen von autofs für FUSE-Dateisysteme
: encfs über sshfs
Ich benutze die folgenden Skripte:
~ / .afuse-fstab
U1Enc encfs --ondemand --idle=5 --extpass="/home/xxx/.creds/U1.encfs.sh" /home/xxx/Ubuntu\ One/.encrypted %m
~ / .creds / U1.encfs.sh (als ausführbar markiert und nur für den Benutzer selbst zugänglich)
#!/bin/sh
echo PASSWORD_FOR_ENCFS_IN_CLEARTEXT
~ / bin / afuse-handler.pl (als ausführbar markiert und mit ~ / bin in $ PATH)
#!/usr/bin/perl -w
$fstab="$ENV{HOME}/.afuse-fstab";
$afusedir=$ARGV[0];
$afuse_mountpoint=$ARGV[1];
print "afusedir:$afusedir\n";
print "afuse_mountpoint:$afuse_mountpoint\n";
system("logger -t afuse 1:$ARGV[0] 2:$ARGV[1]");
open(FSTAB, $fstab ) or die("Can not open afuse-fstab at $fstab\n");
while( <FSTAB> ) {
if( /^$afusedir/ ) {
s/[^\s\/]+[\s]*//;
s/%r/$afusedir/g;
s/%m/$afuse_mountpoint/g;
chomp;
$cmd = $_;
print "$cmd\n";
system($_) == 0
or die "execution of FUSE filesystem failed!\n"
. "command:$cmd\n"
. "reason:$?\n";
}
}
und schließlich ~ / bin / afuse.start.sh (erneut als ausführbar markiert), das ich bei Gnome / System / Settings registriert habe, um afuse nach dem Anmelden zu starten
#!/bin/sh
afuse -o mount_template="/home/xxx/bin/afuse-handler.pl %r %m" -o unmount_template="fusermount -u -z %m" ~/.fuse
Das letzte Skript startet afuse, wodurch der afuse-Handler gestartet wird, um den EncFS-Ordner unter ~ / .fuse zu mounten, sobald auf ihn zugegriffen wird. Der afuse.handler selbst überprüft die .afuse-fstab, wie der Ordner bereitgestellt wird. Das EncFS-Kennwort wird von U1.encfs.sh zurückgegeben, sodass kein Benutzereingriff erforderlich ist (da diese Datei in meinem Basisordner gespeichert ist, wird sie von ecryptfs verschlüsselt, sodass ich dort kein großes Sicherheitsproblem sehe).
Achten Sie auf verschiedene EncFS-Versionen. Auf Natty wird derzeit EncFS Version 1.7.4 installiert. Das funktioniert nicht gut mit einer älteren 1.6-Version auf Maverick. Ich musste EncFS auf Maverick ebenfalls auf 1.7.4 aktualisieren (dies durch Anheften von apt / settings).