Guten Morgen,
ich konnte das Problem gestern noch lösen, hab dann aber den Schlaf einem Posting vorgezogen 😉
Als Hilfe diente hauptsächlich diese umfangreiche Dokumentation aus dem Arch-Wiki. Diese sei bei Problemen wärmstens empfohlen ...
Hab mir auch noch mein PAM-technisch noch jungfräuliches Netbook (Xubuntu 14.04, alle Updates eingespielt) geschnappt, und bin die Konfiguration dort noch einmal durchgegangen.
Da dies geklappt hat denke ich, dass es somit auch für andere nachvollziehbar sein sollte.
Würde mich freuen, wenn jemand anderer das auch ausprobieren könnte. Bei positiven Rückmeldungen wäre eine Aufnahme ins Wiki nicht schlecht, da man an den Anfragen im Forum sieht, dass es auch andere mit dem gleichen Problem gibt.
Die hier verwendeten Pfade sind natürlich Mumpitz, wurden nur zu Testzwecken gewählt und bedürfen im Echteinsatz einer sinnvollen Anpassung.
So, nun für die Allgemeinheit und als Spickzettel für mich;
die Lösung:
Mit Automount:
$ sudo apt-get install libpam-mount
... und die entsprechenden Verzeichnisse/Mountpoints anlegen und mit den richtigen Rechten versehen.
Da später Automount gewünscht ist, muß natürlich die Passphrase verwendet werden, welche beim Einrichten des verschlüsselten Homeverzeichnisse/des Private-Verzeichnisses verwendet wurde, da es diese ist, welche beim Login von pam_ecryptfs unwrapped wird.
Um diese im nächsten Schritt parat zu haben, folgenden Befehl ausführen (am besten im 2. Fenster und dieses offen lassen fürs copy-paste 😉 )
$ ecryptfs-unwrap-passphrase
Ich habe dabei alles, außer den hervorgehobenen Teilen, einfach bestätigt.
$ sudo mount -t ecryptfs /var/ecfs-1 /var/ecfs-2
Passphrase:
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32
2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [XXXXXXXXXXXXXXXX]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=XXXXXXXXXXXXXXXX
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=XXXXXXXXXXXXXXXX
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [XXXXXXXXXXXXXXXX] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : no
Not adding sig to user sig cache file; continuing with mount.
Mounted eCryptfs
Das Verzeichnis ist jetzt gemountet.
Diese Informationen holt man am einfachsten aus der /etc/mtab:
$ grep "PFADDESMOUNTPOINTS" /etc/mtab | sudo tee -a /etc/fstab
Die entsprechende Zeile in der fstab muß dann noch zumindest um noauto und user ergänzt werden, bei mir sieht sie folgendermassen aus:
/var/ecfs-1 /var/ecfs-2 ecryptfs noauto,user,relatime,ecryptfs_passthrough=no,rw,ecryptfs_sig=XXXXXXXXXXXXXXXX,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_fnek_sig=XXXXXXXXXXXXXXXX,ecryptfs_unlink_sigs 0 0
Bei Ubuntu ist mit der Installation des Paketes libpam-mount dieses offenbar eingerichtet und aktiviert, es muß nur noch das Volume hinzugefügt werden.
Ich habe das direkt in der /etc/security/pam_mount.conf.xml vorgenommen.
<!-- Volume definitions -->
<volume user="hugin" noroot="1" fstype="ecryptfs" path="/var/ecfs-1"/>
<lclmount>mount -i %(VOLUME) "%(before=\"-o\" OPTIONS)"</lclmount>
<!-- pam_mount parameters: General tunables -->
Das Entscheidende hier ist die Zeile mit dem lclmount-Eintrag. Fehlt diese, so versucht Ubuntu, den Mount mittels des Helpers "mount.ecryptfs" durchzuführen und dies schlägt fehl.
FERTIG! 😉
Manueller Mount:
Einrichtung
Die Einrichtung erfolgt genauso wie oben unter "Das verschlüsselte Verzeichnis einrichten" beschrieben.
Man kann/sollte, je nach beabsichtigter Verwendung, eine beliebige andere Passphrase verwenden.
Anschließend den Mountpoint ebenfalls zur fstab hinzufügen.
2. Einhängen
Wenn
eine andere Passphrase verwendet wurde, oder
die Option ecryptfs_unlink_sigs gesetzt und das Verzeichnis bereits unmounted wurde und erneut gemounted werden soll
muß dem Kernel-Keyring zunächst der Key hinzugefügt werden. Das geschieht mit
ecryptfs-add-passphrase --fnek
Danach klappt der Mount mit:
mount -i /MOUNTPOINT
Die Option -i wieder, damit mount.ecryptfs umgangen wird.
HTH
Christian