Als ich diese Antwort vor einigen Jahren schrieb, war dies der beste Weg, um die Lösung zu implementieren. Ich würde jetzt vorschlagen, dass Sie sich die nächste Antwort mit mount.ecryptfs_private ansehen.
Ich suchte auch nach einer Möglichkeit, ein zweites eCryptfs-Volume automatisch bereitzustellen. Die folgende Sammlung von Skripten und Konfigurationsänderungen stellt Ihr Volume beim Anmelden sicher und automatisch bereit, entweder auf der GUI oder der CLI.
Es gibt eine bessere Lösung, die gerade erstellt wird (obwohl ich der Meinung bin, dass sie noch nicht für die automatische Bereitstellung bei der Benutzeranmeldung bereit ist, da dieses Skript eine begrenzte Haltbarkeit hat.):
ecryptfs auf zu kleiner Festplatte - Wie füge ich Links zur Verschlüsselung hinzu?
Die Sicherheit der Skripte hängt davon ab, ob Ihr Basisverzeichnis mit eCryptfs verschlüsselt wird, sodass das Skript und die Dateien mit dem Kennwort zum Entpacken Ihrer Passphrase verschlüsselt werden. Wenn Sie Ihren Computer nach dem Anmelden mit einer geöffneten Root-Shell entsperrt lassen, können Sie auf die Kennwörter zugreifen. Die Verwendung von sudo NOPASSWD ermöglicht jedoch das sichere Mounten der Partition, ohne dass Sie ein Kennwort eingeben oder die Passphrase in einer vom Benutzer lesbaren Datei belassen müssen.
Ein bekanntes Manko dieser Skripte ist, dass Ihr zweites Volume beim Abmelden nicht abgemeldet wird. Daher ist es nicht besonders für Systeme mit mehreren Benutzern geeignet.
Meine Lösung besteht aus mehreren Teilen, zwei Shell-Skripten, von denen eines das eigentliche Mounten ausführt und das andere als Wrapper dafür dient.
Dies ist das Wrapper-Skript, das überprüft, ob das Verzeichnis bereits eingehängt ist. Ist dies nicht der Fall, wird das Einhänge-Skript mit sudo aufgerufen:
/ home / johnf / scripts / automount_ecryptfs
#!/bin/bash
MOUNT_POINT=/home/johnf/slow
grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
sudo /home/johnf/scripts/mount_other_ecryptfs
fi
Dieses Skript ruft / home / johnf / scripts / mount_other_ecryptfs wie folgt auf.
Beachten Sie, dass in diesem Skript davon ausgegangen wird, dass die Dateinamenverschlüsselung aktiviert ist. Wenn Sie dies nicht tun, müssen Sie entweder das Skript für die Erkennung ändern (siehe ecryptfs-recover-private) oder die Mount-Option ecryptfs_fnek_sig entfernen.
Folgendes ist das Skript / home / johnf / scripts / mount_other_ecryptfs:
#!/bin/bash
ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}
Sie müssen auch eine Datei mit Ihrem Kennwort erstellen. Diese Datei wird vom Befehl eCryptfs mount verwendet:
/ home / johnf / scripts / ecryptfs_passphrase:
passwd=secret_passphrase
Sie müssen die Berechtigungen für mehrere Dateien ändern:
chmod +x /home/johnf/scripts/automount_ecryptfs
sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase
Bevor Sie die Skripte erstellen, müssen Sie eine sudoers-Konfiguration erstellen, um das Bereitstellungsskript mit sudo ausführen zu können, ohne Ihr sudo-Kennwort einzugeben.
Fügen Sie Folgendes zu / etc / sudoers hinzu (oder eine Datei in /etc/sudoers.d). Du wirst Johnf durch deinen Benutzernamen ersetzen wollen. Es ist erforderlich, einen absoluten Pfad zum Einhänge-Skript zu verwenden.
johnf ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs
Der letzte Schritt ist das Aufrufen des Skripts automount_ecryptfs beim Anmelden.
Verwenden Sie unter Ubuntu Unity (und wahrscheinlich gnome) das Applet Startup Applications, um ein neues Startprogramm zu erstellen, das / home / johnf / scripts / automount_ecryptfs aufruft.
Um das zweite eCryptfs-Volume beim Anmelden in einer Bash-Shell automatisch bereitzustellen, müssen Sie Ihre ~ / .bashrc-Datei ändern. Fügen Sie Folgendes hinzu:
/home/johnf/scripts/automount_ecryptfs
Mit dieser Konfiguration sollten Sie jetzt automatisch Ihr zweites eCryptfs-Volume bereitstellen.